diff options
author | Norbert Preining <norbert@preining.info> | 2022-10-24 03:03:39 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-10-24 03:03:39 +0000 |
commit | 74697976d2ffe935077542593ccbb18a00603251 (patch) | |
tree | ca88ce389275df22be5c2c843de613d8003bf684 /graphics | |
parent | 588d4f81788b3a24bd9bd480ec40bb55be4d1da1 (diff) |
CTAN sync 202210240303
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/README.md | 1 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex) | 113 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex) | 6 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex) | 12 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex) | 17 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-uncentered.tex | 99 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib) | 59 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf) | bin | 534933 -> 574442 bytes | |||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex | 2 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex | 139 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex | 11 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex | 307 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex | 77 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex | 4 | ||||
-rw-r--r-- | graphics/pstricks/base/Changes | 5 | ||||
-rw-r--r-- | graphics/pstricks/base/doc/pst-news22.pdf | bin | 79990 -> 93124 bytes | |||
-rw-r--r-- | graphics/pstricks/base/doc/pst-news22.tex | 46 | ||||
-rw-r--r-- | graphics/pstricks/base/dvips/pstricks.pro | 10 | ||||
-rw-r--r-- | graphics/pstricks/base/generic/pstricks.tex | 21 | ||||
-rw-r--r-- | graphics/pstricks/base/latex/pstricks.sty | 7 |
37 files changed, 784 insertions, 152 deletions
diff --git a/graphics/pgf/contrib/tikz-ext/README.md b/graphics/pgf/contrib/tikz-ext/README.md index 33ec46d366..76ea094357 100644 --- a/graphics/pgf/contrib/tikz-ext/README.md +++ b/graphics/pgf/contrib/tikz-ext/README.md @@ -31,6 +31,7 @@ These are * `ext.shapes.heatmark` * `ext.shapes.rectangleroundedcorners` * `ext.shapes.superellipse` + * `ext.shapes.uncenteredrectangle` These were developed in response to questions on tex.stackexchange.com. Some of these can be find by searching for my [user id](https://tex.stackexchange.com/search?q=user%3A16595+%22my+library%22).
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex index 09bd261a21..09bd261a21 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex index f9468175cb..f9468175cb 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex index bdfd225f3c..bdfd225f3c 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex index 163097e6a1..44228a5445 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex @@ -136,14 +136,38 @@ them in |"|. (intersection of @--[shift=(vecB)]@ and B--A) coordinate (A);} \end{tikzpicture} \end{codeexample} -\pagebreak + +\subsection{\pgfname for} + +Instead of |\foreach \var in {start, start + delta, ..., end}| one can use +|\foreach \var[use int=start to end step delta]|. + +\begin{key}{/pgf/foreach/use int=\meta{start}|to|\meta{end}\opt{|step|\meta{delta}}} +The values \meta{start}, \meta{end} and \meta{delta} are evaluates by \pgfname math at initialization. +The part |step |\meta{delta} is optional (\meta{delta} = 1). +\end{key} + +\begin{key}{/pgf/foreach/use float=\meta{start}|to|\meta{end}\opt{|step|\meta{delta}}} +Same as above, however the results are not truncated. +\end{key} + +%TODO: edges to and edges through +%\pagebreak + \subsection{\pgfname keys} -% +\begin{pgfkeyslibrary}{ext.pgfkeys-plus} + This extends \pgfname keys and adds helpful |/utils| keys as well as handlers. + This library gets loaded by the |ext.misc| library.% + \footnote{\texttt{\string\usepgfkeyslibrary} is an upcoming feature of \pgfname/\tikzname. + For now, you need to load \texttt{ext.misc} + or manually \texttt{\string\input} the file \texttt{pgfkeyslibraryext.pgfkeys-plus.code.tex} + with \texttt{@} being a letter.} +\end{pgfkeyslibrary} + \begin{multicols}{2} -% \subsubsection{Conditionals} -\begin{key}{/utils/if=\meta{cond}\meta{true}\opt{\meta{false}}} +\begin{key}{/utils/if=\marg{cond}\marg{true}\opt{\marg{false}}} This key checks the conditional \meta{cond} and applies the styles \meta{true} if \meta{cond} is true, otherwise \meta{false}. \meta{cond} can be anything that \pgfname math understands. @@ -155,7 +179,7 @@ them in |"|. The following keys use \TeX' macros |\if|, |\ifx|, |\ifnum| and |\ifdim| for faster executions. -\begin{key}{/utils/TeX/if=\meta{token A}\meta{token B}\meta{true}\opt{\meta{false}}} +\begin{key}{/utils/TeX/if=\meta{token A}\meta{token B}\marg{true}\opt{\marg{false}}} This key checks via |\if| if \meta{token A} matches \meta{token B} and applies the styles \meta{true} if it does, otherwise \meta{false}. @@ -163,28 +187,31 @@ executions. actually optional. \end{key} -\begin{key}{/utils/TeX/ifx=\meta{token A}\meta{token B}\meta{true}\opt{\meta{false}}} - As above. +\begin{key}{/utils/TeX/ifx=\meta{token A}\meta{token B}\marg{true}\opt{\marg{false}}} + As above but via |\ifx|. \end{key} -\begin{key}{/utils/TeX/ifnum=\meta{num cond}\meta{true}\\opt{\meta{false}}} +\begin{key}{/utils/TeX/ifnum=\marg{num cond}\marg{true}\opt{\marg{false}}} This key checks |\ifnum|\meta{num cond} and applies the styles \meta{true} if true, otherwise \meta{false}. A delimiting |\relax| will be inserted after \meta{num cond}. - As a side effect on how \pgfname keys parses argument, the \meta{false} argument is + As a side effect on how \pgfname keys parses arguments, the \meta{false} argument is actually optional. \end{key} \begin{key}{/utils/TeX/ifdim=\meta{dim cond}\meta{true}\opt{\meta{false}}} - As above. + As above but with |\ifdim|. \end{key} \begin{key}{/utils/TeX/ifempty=\meta{Text}\meta{true}\opt{\meta{false}}} This checks whether \meta{Text} is empty and applies styles \meta{true} if true, otherwise \meta{false}. \end{key} - +\begin{key}{/utils/TeX/ifxempty=\meta{Text}\meta{true}\opt{\meta{false}}} + This checks whether fully expanded \meta{Text} is empty and applies styles \meta{true} if true, + otherwise \meta{false}. +\end{key} \subsubsection{Handlers} @@ -193,27 +220,58 @@ not all of them are. \begin{handler}{{.pgfmath}|=|\meta{eval}} This handler evaluates \meta{eval} before it is handed to the key. + + This handler works almost the same as the |.evaluated|\indexHandlerO{.evaluated} + handler but it does its evaluation in a group so that the result will + not overwrite any other results. \end{handler} \begin{handler}{{.pgfmath int}|=|\meta{eval}} As above but truncates the result. \end{handler} -\begin{handler}{{.pgfmath strcat}|=|\meta{eval}} - As above but uses the |strcat| function. +\begin{handler}{{.pgfmath wrap}|=|\marg{wrapper}\marg{eval}} + This feeds the result of \meta{eval} as |#1| to \meta{wrapper}. - In the example below, one could have used the |/pgf/foreach/evaluate| key from |\foreach|. -\begin{codeexample}[width=3.7cm,preamble=\usetikzlibrary{misc}] + In the example below, one could have used the \referenceKeyandIndexO[/pgf/foreach/]{evaluate} + key from the |\foreach| loop. +\begin{codeexample}[width=3.7cm,preamble=\usetikzlibrary{ext.pgfkeys-plus}] \tikz\foreach \i in {0,10,...,100} \draw[ - line width=+.2cm, - color/.pgfmath strcat={"red!",sqrt(\i)*10,"!blue"} + line width=+.25cm, + % needs ## because its inside the \foreach body + color/.pgfmath wrap={red!##1!blue}{sqrt(\i)*10} ] - (0,\i/50) -- +(right:3); + (0,\i/40) -- +(right:3); \end{codeexample} \end{handler} -\begin{handler}{{.List}|=|\meta{\meta{e1}, \meta{e2}, \dots, \meta{en}}} +\begin{handler}{{.pgfmath if}|=|\marg{cond}\marg{true}\opt{\marg{false}}} + Evaluates \meta{cond} with \pgfname Math and returns \meta{true} or \meta{false} to the used key respectively. +\end{handler} +\begin{handler}{{.if}|=|\meta{token A}\meta{token B}\marg{true}\opt{\marg{false}}} + Checks via |\if| if \meta{token A} matches \meta{token B} + and applies the value \meta{true} if it does, otherwise \meta{false}. +\end{handler} +\begin{handler}{{.ifx}|=|\meta{token A}\meta{token B}\marg{true}\opt{\marg{false}}} + As above but via |\ifx|. +\end{handler} +\begin{handler}{{.ifnum}|=|\marg{ifnum cond}\marg{true}\opt{\marg{false}}} + Checks via |\ifnum| if \meta{ifnum cond} + and applies the value \meta{true} if it does, otherwise \meta{false}. +\end{handler} +\begin{handler}{{.ifdim}|=|\marg{ifdim cond}\marg{true}\opt{\marg{false}}} + As above but via |\ifdim|. +\end{handler} +\begin{handler}{{.ifxempty}|=|\marg{Text}\marg{true}\opt{\marg{false}}} + Checks whether a fully expanded \meta{Text} is empty + and applies the value \meta{true} if it does, otherwise \meta{false}. +\end{handler} +\begin{handler}{{.ifempty}|=|\marg{Text}\marg{true}\opt{\marg{false}}} + Checks whether \meta{Text} is empty + and applies the value \meta{true} if it does, otherwise \meta{false}. +\end{handler} +\begin{handler}{{.List}|=|\marg{\meta{e1}, \meta{e2}, \dots, \meta{en}}} This handler evaluates the given list with |\foreach| and concatenates the element and the result is then given to the used key. \end{handler} @@ -221,26 +279,11 @@ not all of them are. \begin{codeexample}[width=6cm,preamble=\usetikzlibrary{fit,ext.misc}] \begin{tikzpicture}[nodes={draw, dashed, inner sep=+10pt}] \foreach \point [count=\cnt] in {(0,0), (0,2), (2,0), (2,2), (3,3), (-1,-1)} - \fill \point circle[radius=.1] coordinate (point-\cnt); + \node[circle, fill, inner sep=1pt, text=white] (point-\cnt) at \point {\cnt}; \node[gray, fit/.List={(point-1),(point-...),(point-4)}] {}; \node[red, fit/.List={(point-1),(point-...),(point-5)}] {}; \node[blue, fit/.List={(point-1),(point-...),(point-6)}] {}; \end{tikzpicture} \end{codeexample} -\subsection{\pgfname for} - -Instead of |\foreach \var in {start, start + delta, ..., end}| one can use -|\foreach \var[use int=start to end step delta]|. - -\begin{key}{/pgf/foreach/use int=\meta{start}|to|\meta{end}\opt{|step|\meta{delta}}} -The values \meta{start}, \meta{end} and \meta{delta} are evaluates by \pgfname math at initialization. -The part |step |\meta{delta} is optional (\meta{delta} = 1). -\end{key} - -\begin{key}{/pgf/foreach/use float=\meta{start}|to|\meta{end}\opt{|step|\meta{delta}}} -Same as above, however the results are not truncated. -\end{key} - -%TODO: edges to and edges through \endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex index d4b274511c..d4b274511c 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex index 8ed660b3a3..8ed660b3a3 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex index ba78f47dcb..18264156c9 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex @@ -128,7 +128,7 @@ these can be configured through the following keys. \end{key} \end{pathoperation} -All distances can be set with on key. +All distances can be set with one key. \begin{key}{/tikz/ortho/udlr distance=\meta{length}} Sets all the previous distances to the same value \meta{length}. \end{key} @@ -192,8 +192,8 @@ Installs the following shortcuts:\\ \pgfmanualbar-\pgfmanualbar & vertical horizontal vertical \\ \pgfmanualbar* & only vertical first \\ *\pgfmanualbar & only vertical second \\ - \pgfmanualbar* & only vertical first \\ - *\pgfmanualbar & only vertical second + -* & only horizontal first \\ + *- & only horizontal second \end{tabular} } \end{stylekey} diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex index 595a647917..595a647917 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex index c3c38a8517..c3c38a8517 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex index 56c81376aa..56c81376aa 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex index 1d9e5ba9df..1d9e5ba9df 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex index 97011bc4d0..97011bc4d0 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex index fd071e009e..41e56c390e 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex @@ -8,7 +8,7 @@ % 2. under the GNU Free Documentation License. % \newcommand*\tikzextname{Ti\textit kZ-Extensions} -\newcommand*\tikzextversion{0.4} +\newcommand*\tikzextversion{0.4.1} \begin{document} {\colorlet{blue}{black}% links shall be black \title{\bfseries The \tikzextname\space Package\\ @@ -125,6 +125,8 @@ These libraries (should) work with both \pgfname\space and \tikzname. \include{tikz-ext-manual-en-pgf-shapes-heatmark} \include{tikz-ext-manual-en-pgf-shapes-rectround} \include{tikz-ext-manual-en-pgf-shapes-superellipse} +\include{tikz-ext-manual-en-pgf-shapes-uncentered} + \part{Utilities} \label{part:misc} @@ -162,11 +164,19 @@ These libraries (should) work with both \pgfname\space and \tikzname. %%% END \newcommand*{\addTikz}[1]{Added \tikzname\space library \texttt{ext.#1}.} \newcommand*{\addPGF}[1]{Added \pgfname\space library \texttt{ext.#1}.} +\newcommand*{\addPGFkeys}[1]{Added \pgfname keys library \texttt{ext.#1}.} \newcommand*{\addShape}[2][]{Added shape \texttt{\ifx\\#1\\#2\else#1\fi}\\(\pgfname\space library \texttt{ext.shapes.#2}).} \part{Changelog, Index \& References} \section*{Changelog}\addcontentsline{toc}{section}{Changelog} \begin{multicols}{2}\raggedright \noindent +Version 0.4.1 +\begin{itemize} +\item Cleaned up directory structure of documentary. +\item \addPGFkeys{pgfkeys-plus} +\item \addShape[uncentered rectangle]{uncenteredrectangle} +\item Fixed |ext.paths.arcto| -- again \cite{GH2}. +\end{itemize} Version 0.4 \begin{itemize} \item CTAN version of 0.3.1 diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex index 494d63e012..2ba6defa10 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex @@ -41,6 +41,21 @@ \tracinglostchars=3 \input{pgfmanual-en-macros} +\newenvironment{pgfkeyslibrary}[1]{% from pgfmanual-en-macros + \begin{pgfmanualentry}% + \pgfmanualentryheadline{% + \pgfmanualpdflabel{#1}{}% + \textbf{pgfkeys Library} \texttt{\declare{#1}}}% + \index{#1@\protect\texttt{#1} pgfkeys library}% + \index{pgfkeys Libraries!#1@\protect\texttt{#1}}% + \vskip.25em + {{\ttfamily\char`\\usepgfkeyslibrary\char`\{\declare{#1}\char`\}\space\space \char`\%\space\space \LaTeX\space and plain \TeX}}\\ + {{\ttfamily\char`\\usepgfkeyslibrary[\declare{#1}]\space \char`\%\space\space Con\TeX t}}\\[.5em]% + \pgfmanualbody +}% +{% + \end{pgfmanualentry}% +} \usepackage{unicode-math} \setmathfont[Scale=MatchUppercase]{libertinusmath-regular.otf} @@ -105,10 +120,12 @@ ext.shapes.circlecrosssplit, ext.shapes.rectangleroundedcorners, ext.shapes.superellipse, + ext.shapes.uncenteredrectangle, ext.topaths.arcthrough, ext.transformations.mirror, % calc, + cd, fit, matrix, shapes.geometric, diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex index e26711bb35..e26711bb35 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex index e7b2b9ba5a..e7b2b9ba5a 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex index fa13cb0000..fa13cb0000 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex index 78bab76925..78bab76925 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex index 580ef0d93f..580ef0d93f 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-uncentered.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-uncentered.tex new file mode 100644 index 0000000000..cb79e4ac7b --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-uncentered.tex @@ -0,0 +1,99 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\section{Shape: Uncentered Rectangle} +\begin{pgflibrary}{ext.shapes.uncenteredrectangle} + A rectangle that has a variable horizontal center with three node parts. + \inspiration{UncRectCD-Q,UncRectForest-Q}{UncRectCD-A,UncRectForest-A} +\end{pgflibrary} +\begin{shape}{uncentered rectangle} + +For some alignment problems, this shape could be useful. + +It has three node parts: the standard |text| part, +the |left| part that is to the left of |text| +and the |right| part that is to the right of |text|. + +When edges are to be connected with this shape, the +following key changes to which inner center this shape will +calculate the appropriate point on the border. +\begin{key}{/pgf/uncentered rectangle center=\meta{left}\textrm{ or }\meta{text}\textrm{ or }\meta{right}\textrm{ or }\meta{real} (initially text)} + Sets the center that is to be used for connecting edges. + + This will also move the anchors |north|, |mid|, |base| and |south| along. + In the picture below, this are marked red. +\end{key} + +For support of the \referenceLibraryandIndexO{cd} library of the |tikz-cd| package, +this shape also supports a dynamic $y$ value for its anchors |center|, |west| and |east|. +\begin{key}{/pgf/uncentered rectangle center yshift=\meta{dimension} (initially \{\})} + This determines the distance between the baseline and the |center| anchors. + + If \meta{dimension} is empty, the real center will be used which is the default. + + For use with |cd|, set this to |axis_height|. + Due to a bug with \referenceKeyandIndexO{execute at end node} + this needs a lot of fixing to be able to use in a commutative diagram, though. + +\tikzexternaldisable +\catcode`\|=12 +\begin{codeexample}[leave comments, preamble=\usetikzlibrary{cd, ext.shapes.uncenteredrectangle}] +\makeatletter +\tikzcdset{ + every diagram/.append style={ + /pgf/uncentered rectangle center=text, + /tikz/math align/.style={ + shape=uncentered rectangle, + /pgf/uncentered rectangle center yshift=axis_height, + commutative diagrams/math mode=false}, + /tikz/math align left/.style={ + math align, + /utils/exec={\def\mathalign####1=####2;{$####2$\nodepart{left}$####1={}$}}}, + /tikz/math align right/.style={ + math align, + /utils/exec={\def\mathalign####1=####2;{$####1$\nodepart{right}${}=####2$}}}, + /tikz/matrix of math nodes/.style={ + matrix of nodes, + nodes={ + execute at begin node=\iftikzcd@mathmode$\fi, + execute at end node =\iftikzcd@mathmode$\fi}}}} +\makeatother +\tikzcdset{install C shortcut/.code=\newcommand*\C[1]{C_{\%_{##1}}}} +\begin{tikzcd}[ + install C shortcut, + sep=tiny, + arrows={-, gray}, + cells={font=\strut, inner xsep=.2ex, inner ysep=.1ex} +] +\C{1} \drar & & |[math align right]| \mathalign m_{r_1} = \C{2}-C_\%; \dlar\\ + & C_\% \\ +\C{2} \urar & & |[math align right]| \mathalign m_{r_2} = \C{1}-C_\%; \ular +\end{tikzcd} +\end{codeexample} +\end{key} +\pagebreak +\begin{codeexample}[preamble=\usepgflibrary{ext.shapes.uncenteredrectangle}] +\begin{tikzpicture}[style north/.style=red, style south/.style=red, style center/.style=red, style base/.style=red, style mid/.style=red] +\Huge +\node[shape example, name=n, uncentered rectangle] + {centered \nodepart{left} Un \nodepart{right} \space Rectangle\vrule width 1pt height 2cm} + foreach \anchor/\pos in { + north west/above left, north/below, north east/above right, real north/above, left north/above, right north/above, text north/above, + west/left, center/above, east/right, real center/above, left center/above,right center/above,text center/below, + mid west/left, mid/left, mid east/right, real mid/above, left mid/above, right mid/above, text mid/above, + base west/left, base/right, base east/right, real base/below, left base/below, right base/below, text base/below, + south west/below left, south/above, south east/below right, real south/below, left south/below, right south/below, text south/below, + 10/right, 130/below, left/left, right/right, text/right}{ + plot[mark=x, only marks] coordinates {(n.\anchor)} + node[inner sep=.1em, style \anchor/.try, style/.expand once=\pos] {\tiny\ttfamily\anchor}}; +\end{tikzpicture} +\end{codeexample} +\end{shape} +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex index ccd378a6e7..ccd378a6e7 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib index 5a13e91d41..60cf094472 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib @@ -319,4 +319,63 @@ year = {2022}, } +' +@Software{GH2, + abstract = {{clockwise/counter clockwise does not seem to work reliably}}, + author = {marmotghost}, + month = oct, + title = {clockwise/counter clockwise does not seem to work reliably}, + url = {https://github.com/Qrrbrbirlbel/tikz-extensions/issues/2}, + urldate = {2022-10-23}, + year = {2022}, +} + +' +@Online{UncRectForest-Q, + author = {projetmbc}, + file = {Snapshot:https\://tex.stackexchange.com/questions/661726/forest-automatic-setting-of-the-alignment-of-some-labels/661746#661746:text/html}, + month = oct, + title = {forest - automatic setting of the alignment of some labels}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/q/661726/16595}, + urldate = {2022-10-23}, + year = {2022}, +} + +@Online{UncRectForest-A, + author = {Qrrbrbirlbel}, + file = {Snapshot:https\://tex.stackexchange.com/questions/661726/forest-automatic-setting-of-the-alignment-of-some-labels/661746#661746:text/html}, + month = oct, + title = {Answer to \enquote{forest - automatic setting of the alignment of some labels}}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/a/661746/16595}, + urldate = {2022-10-23}, + year = {2022}, +} + +' +@Online{UncRectCD-Q, + author = {Szymankiewicz, Michał}, + file = {Snapshot:https\://tex.stackexchange.com/questions/657432/how-to-draw-a-mixing-rule-chemistry/657449#657449:text/html}, + month = sep, + shorttitle = {How to draw a mixing rule?}, + title = {How to draw a mixing rule? \#chemistry}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/q/657432/16595}, + urldate = {2022-10-23}, + year = {2022}, +} + +@Online{UncRectCD-A, + author = {Qrrbrbirlbel}, + file = {Snapshot:https\://tex.stackexchange.com/questions/657432/how-to-draw-a-mixing-rule-chemistry/657449#657449:text/html}, + month = sep, + shorttitle = {Answer to \enquote{How to draw a mixing rule?}}, + title = {Answer to \enquote{How to draw a mixing rule? \#chemistry}}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/a/657449/16595}, + urldate = {2022-10-23}, + year = {2022}, +} + @Comment{jabref-meta: databaseType:bibtex;} diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf Binary files differindex f4a31a8c6a..51ba04c7d1 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf diff --git a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex index 253944ca7d..253944ca7d 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex index 90b42a0011..fae3508e15 100644 --- a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex @@ -359,7 +359,7 @@ \pgfcalendar@launch@ifdate{#2}{#3}{#4}% } -\pgfqkeys{/pgf/calendar/week}{.value required,.code=\ifnum#1=\pgfcalendarifdateweek\relax\expandafter\pgfcalendarmatchestrue\fi} +\pgfqkeys{/pgf/calendar/week}{.value required,.code={\ifnum#1=\pgfcalendarifdateweek\relax\expandafter\pgfcalendarmatchestrue\fi}} % Overwriting shorthands of pgfcalendar \expandafter\def\csname pgfcalendar@shorthand@d-\endcsname{% diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex new file mode 100644 index 0000000000..49aedb64c6 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex @@ -0,0 +1,139 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\input pgfmath.tex + +%% Handlers +%% .pgfmath evaluates values given to keys in PGFmath before handing them over. +%% .pgfmath int truncates the result +%% .pgfmath strcat concatenates the given values +\pgfqkeys{/handlers}{ + .pgfmath/.code=% + \begingroup + \pgfmathparse{#1}% + \expandafter\endgroup\expandafter + \pgfkeys@exp@call\expandafter{\pgfmathresult}, + .pgfmath int/.code=% + \begingroup + \pgfmathint{#1}% + \expandafter\endgroup\expandafter + \pgfkeys@exp@call\expandafter{\pgfmathresult}, + .pgfmath wrap/.code 2 args={% + \def\pgfkeys@temp##1{\def\pgfkeys@temp{#1}}% + \begingroup + \pgfmathparse{#2}% + \expandafter\pgfkeys@temp\expandafter{\pgfmathresult}% + \expandafter\endgroup\expandafter + \pgfkeys@exp@call\expandafter{\pgfkeys@temp}% + }, + .pgfmath if/.code n args={3}{% + \begingroup + \pgfmathifthenelse{#1}{"1"}{"0"}% + \expandafter\endgroup\expandafter + \ifcase\pgfmathresult\relax + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeys@exp@call{#3}}% + {\pgfkeys@exp@call{#2}}% + }, + .if/.code n args={4}{% + \if#1#2% + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeys@exp@call{#3}}% + {\pgfkeys@exp@call{#4}}% + }, + .ifnum/.code n args={3}{% + \ifnum#1\relax + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeys@exp@call{#2}}% + {\pgfkeys@exp@call{#3}}% + }, + .ifdim/.code n args={3}{% + \ifdim#1\relax + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeys@exp@call{#2}}% + {\pgfkeys@exp@call{#3}}% + }, + .ifx/.code n args={4}{% + \ifx#1#2% + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeys@exp@call{#3}}% + {\pgfkeys@exp@call{#4}}% + }, + .ifxempty/.code n args={3}{% + \edef\pgfkeys@temp{#1}% + \pgfutil@ifxempty\pgfkeys@temp{\pgfkeys@exp@call{#2}}{\pgfkeys@exp@call{#3}}% + }, + .ifempty/.code n args={3}{% + \pgfutil@ifempty{#1}{\pgfkeys@exp@call{#2}}{\pgfkeys@exp@call{#3}}% + }, + %% http://tex.stackexchange.com/a/144187/16595 + %% key/.List={(point-1),(point-2),(point-...),(point-6)} will call + %% key=(point-1)(point-2)(point-3)(point-4)(point-5),(point-6) + .List/.code=% + \let\pgfkeys@global@temp\pgfutil@empty + \foreach\pgfkeys@temp in{#1}{% + \expandafter\pgfutil@g@addto@macro\expandafter\pgfkeys@global@temp\expandafter{\pgfkeys@temp}% + }% + \expandafter\pgfkeys@exp@call\expandafter{\pgfkeys@global@temp}% +} + +\pgfqkeys{/utils}{ + if/.code n args={3}{% + \begingroup + \pgfmathifthenelse{#1}{"1"}{"0"}% + \expandafter\endgroup\expandafter + \ifcase\pgfmathresult\relax + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeysalso{#3}} + {\pgfkeysalso{#2}}% + }, + TeX/if/.code n args={4}{% + \if#1#2\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% + }, + TeX/ifnum/.code n args={3}{% + \ifnum#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + TeX/ifdim/.code n args={3}{% + \ifdim#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + TeX/ifx/.code n args={4}{% + \ifx#1#2\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% + }, + TeX/ifxempty/.code n args={3}{% + \edef\pgfkeys@temp{#1}% + \pgfutil@ifxempty\pgfkeys@temp{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + TeX/ifempty/.code n args={3}{% + \pgfutil@ifempty{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + tex/.search also=/utils/TeX, +} + +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex new file mode 100644 index 0000000000..6101ca8cad --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex @@ -0,0 +1,11 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\input pgfkeyslibraryext.pgfkeys-plus.code.tex + +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex new file mode 100644 index 0000000000..630a22da14 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex @@ -0,0 +1,307 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\pgfutil@IfUndefined{pgfnodepartthreebox}{% + \newbox\pgfnodepartleftbox + \newbox\pgfnodepartrightbox +}{% + \let\pgfnodepartleftbox\pgfnodeparttwobox + \let\pgfnodepartrightbox\pgfnodepartthreebox +} +\pgfset{ + uncentered rectangle center yshift/.initial=, + uncentered rectangle center/@center/.initial=2, + uncentered rectangle center/.is choice, + uncentered rectangle center/real/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{0}, + uncentered rectangle center/left/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{1}, + uncentered rectangle center/text/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{2}, + uncentered rectangle center/right/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{3}} + +\pgfdeclareshape{uncentered rectangle}{% + \nodeparts{text,left,right}% + \savedanchor\middleCenter{% + \pgf@x=.5\wd\pgfnodeparttextbox + % + \pgf@y=\dp\pgfnodeparttextbox + \ifdim\dp\pgfnodepartleftbox>\pgf@y + \pgf@y=\dp\pgfnodepartleftbox + \fi + \ifdim\dp\pgfnodepartrightbox>\pgf@y + \pgf@y=\dp\pgfnodepartrightbox + \fi + % + \pgf@ya=\ht\pgfnodeparttextbox + \ifdim\ht\pgfnodepartleftbox>\pgf@ya + \pgf@ya=\ht\pgfnodepartleftbox + \fi + \ifdim\ht\pgfnodepartrightbox>\pgf@ya + \pgf@ya=\ht\pgfnodepartrightbox + \fi + \advance\pgf@ya by -\pgf@y + \pgf@y=.5\pgf@ya + }% + \savedanchor\leftCenter{% + % y should be still the same as before + \pgf@x=-.5\wd\pgfnodepartleftbox + }% + \savedanchor\rightCenter{% + % y should be still the same as before + \pgf@x=.5\wd\pgfnodepartrightbox + \advance\pgf@x by \wd\pgfnodeparttextbox + }% + \savedanchor\realCenter{% + % y should be still the same as before + \pgf@x=-.5\wd\pgfnodepartleftbox + \advance\pgf@x by .5\wd\pgfnodeparttextbox + \advance\pgf@x by .5\wd\pgfnodepartrightbox + }% + \savedanchor\southwest{% + % total width + \pgf@xa=\wd\pgfnodepartleftbox + \advance\pgf@xa by\wd\pgfnodepartrightbox + \advance\pgf@xa by\wd\pgfnodeparttextbox + % + \pgfmathsetlength\pgf@xc{\pgfkeysvalueof{/pgf/inner xsep}}% + \advance\pgf@xa by 2\pgf@xc + \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}% + \ifdim\pgf@xb>\pgf@xa + \pgf@xa=\pgf@xb + \fi + % left side of shape + \advance\pgf@x by -.5\pgf@xa + \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}% + \advance\pgf@x by -\pgf@xa + % + % total height + \pgf@ya=\dp\pgfnodepartleftbox + \ifdim\pgf@ya<\dp\pgfnodeparttextbox + \pgf@ya=\dp\pgfnodeparttextbox + \fi + \ifdim\pgf@ya<\dp\pgfnodepartrightbox + \pgf@ya=\dp\pgfnodepartrightbox + \fi + \pgf@yb=\ht\pgfnodepartleftbox + \ifdim\pgf@yb<\ht\pgfnodeparttextbox + \pgf@yb=\ht\pgfnodeparttextbox + \fi + \ifdim\pgf@yb<\ht\pgfnodepartrightbox + \pgf@yb=\ht\pgfnodepartrightbox + \fi + \advance\pgf@ya by \pgf@yb + % + \pgfmathsetlength\pgf@yc{\pgfkeysvalueof{/pgf/inner ysep}}% + \advance\pgf@ya by 2\pgf@yc + \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/minimum height}}% + \ifdim\pgf@yb>\pgf@ya + \pgf@ya=\pgf@yb + \fi + % lower side of the shape + \advance\pgf@y by -.5\pgf@ya + \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}% + \advance\pgf@y by -\pgf@ya + }% + \savedanchor\northeast{% + % first, let's calculate the real center again: + % + \pgf@x=-.5\wd\pgfnodepartleftbox + \advance\pgf@x by .5\wd\pgfnodeparttextbox + \advance\pgf@x by .5\wd\pgfnodepartrightbox + % + \pgf@y=\dp\pgfnodeparttextbox + \ifdim\dp\pgfnodepartleftbox>\pgf@y + \pgf@y=\dp\pgfnodepartleftbox + \fi + \ifdim\dp\pgfnodepartrightbox>\pgf@y + \pgf@y=\dp\pgfnodepartrightbox + \fi + % + \pgf@ya=\ht\pgfnodeparttextbox + \ifdim\ht\pgfnodepartleftbox>\pgf@ya + \pgf@ya=\ht\pgfnodepartleftbox + \fi + \ifdim\ht\pgfnodepartrightbox>\pgf@ya + \pgf@ya=\ht\pgfnodepartrightbox + \fi + \advance\pgf@ya by -\pgf@y + \pgf@y=.5\pgf@ya + % + % now we can calculate the anchor + % total width + % + \pgf@xa=\wd\pgfnodepartleftbox + \advance\pgf@xa by\wd\pgfnodepartrightbox + \advance\pgf@xa by\wd\pgfnodeparttextbox + % + \pgfmathsetlength\pgf@xc{\pgfkeysvalueof{/pgf/inner xsep}}% + \advance\pgf@xa by 2\pgf@xc + \pgfmathsetlength\pgf@xb{\pgfkeysvalueof{/pgf/minimum width}}% + \ifdim\pgf@xb>\pgf@xa + \pgf@xa=\pgf@xb + \fi + % right side of shape + \advance\pgf@x by .5\pgf@xa + \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/outer xsep}}% + \advance\pgf@x by \pgf@xa + % + % total height + \pgf@ya=\dp\pgfnodepartleftbox + \ifdim\pgf@ya<\dp\pgfnodeparttextbox + \pgf@ya=\dp\pgfnodeparttextbox + \fi + \ifdim\pgf@ya<\dp\pgfnodepartrightbox + \pgf@ya=\dp\pgfnodepartrightbox + \fi + \pgf@yb=\ht\pgfnodepartleftbox + \ifdim\pgf@yb<\ht\pgfnodeparttextbox + \pgf@yb=\ht\pgfnodeparttextbox + \fi + \ifdim\pgf@yb<\ht\pgfnodepartrightbox + \pgf@yb=\ht\pgfnodepartrightbox + \fi + \advance\pgf@ya by \pgf@yb + % + \pgfmathsetlength\pgf@yc{\pgfkeysvalueof{/pgf/inner ysep}}% + \advance\pgf@ya by 2\pgf@yc + \pgfmathsetlength\pgf@yb{\pgfkeysvalueof{/pgf/minimum height}}% + \ifdim\pgf@yb>\pgf@ya + \pgf@ya=\pgf@yb + \fi + % upper side of the shape + \advance\pgf@y by .5\pgf@ya + \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/outer ysep}}% + \advance\pgf@y by \pgf@ya + }% + % + \anchor{center}{% + \ifcase\pgfkeysvalueof{/pgf/uncentered rectangle center/@center}\relax + \realCenter\or + \leftCenter\or + \middleCenter\or + \rightCenter\else + \realCenter + \fi + \pgfkeysgetvalue{/pgf/uncentered rectangle center yshift}\pgf@temp + \pgfutil@ifxempty\pgf@temp{% real center used + }{% calculate center + \pgfmathsetlength\pgf@y{\pgf@temp}% + }% + }% + \anchor{left} {\leftCenter \multiply\pgf@x by2 \pgf@y=0pt } + \anchor{right} {\middleCenter\multiply\pgf@x by2 \pgf@y=0pt } + \anchor{real center} {\realCenter} + \anchor{left center} {\leftCenter} + \anchor{right center}{\rightCenter} + \anchor{text center} {\middleCenter} + \anchor{south west} {\southwest} + \anchor{north east} {\northeast} + \anchor{mid}{% + \csname pgf@anchor@uncentered rectangle@center\endcsname + \pgfmathsetlength\pgf@y{.5ex}}% + \anchor{base}{% + \csname pgf@anchor@uncentered rectangle@center\endcsname + \pgf@y=0pt }% + \anchor{left mid} {\leftCenter \pgfmathsetlength\pgf@y{+.5ex}} + \anchor{text mid} {\middleCenter\pgfmathsetlength\pgf@y{+.5ex}} + \anchor{right mid} {\rightCenter \pgfmathsetlength\pgf@y{+.5ex}} + \anchor{real mid} {\realCenter \pgfmathsetlength\pgf@y{+.5ex}} + \anchor{left base} {\leftCenter \pgf@y=0pt } + \anchor{text base} {\middleCenter\pgf@y=0pt } + \anchor{right base} {\rightCenter \pgf@y=0pt } + \anchor{real base} {\realCenter \pgf@y=0pt } + \anchor{real south} {\pgf@anchor@rectangle@south} + \anchor{real north} {\pgf@anchor@rectangle@north} + \anchor{text north} {\pgf@anchor@rectangle@north\pgf@ya=\pgf@y\middleCenter\pgf@y=\pgf@ya} + \anchor{left north} {\pgf@anchor@rectangle@north\pgf@ya=\pgf@y\leftCenter \pgf@y=\pgf@ya} + \anchor{right north}{\pgf@anchor@rectangle@north\pgf@ya=\pgf@y\rightCenter \pgf@y=\pgf@ya} + \anchor{text south} {\pgf@anchor@rectangle@south\pgf@ya=\pgf@y\middleCenter\pgf@y=\pgf@ya} + \anchor{left south} {\pgf@anchor@rectangle@south\pgf@ya=\pgf@y\leftCenter \pgf@y=\pgf@ya} + \anchor{right south}{\pgf@anchor@rectangle@south\pgf@ya=\pgf@y\rightCenter \pgf@y=\pgf@ya} + \anchor{north}{% + \pgf@anchor@rectangle@north + \pgf@ya=\pgf@y + \csname pgf@anchor@uncentered rectangle@center\endcsname + \pgf@y=\pgf@ya + } + \anchor{south}{% + \pgf@anchor@rectangle@south + \pgf@ya=\pgf@y + \csname pgf@anchor@uncentered rectangle@center\endcsname + \pgf@y=\pgf@ya + } + %\anchor{base right}{\middleCenter\pgf@xa=2\pgf@x}% TODO + \anchor{real west}{% + \pgf@process{\northeast}% + \pgf@ya=.5\pgf@y + \pgf@process{\southwest}% + \pgf@y=.5\pgf@y + \advance\pgf@y by \pgf@ya + }% + \anchor{real east}{% + \pgf@process{\southwest}% + \pgf@ya=.5\pgf@y + \pgf@process{\northeast}% + \pgf@y=.5\pgf@y + \advance\pgf@y by \pgf@ya + }% + \anchor{west}{% + \pgf@process{\southwest}% + \pgf@xa=\pgf@x + \pgf@process{\csname pgf@anchor@uncentered rectangle@center\endcsname}% + \pgf@x=\pgf@xa + }% + \anchor{east}{% + \pgf@process{\northeast}% + \pgf@xa=\pgf@x + \pgf@process{\csname pgf@anchor@uncentered rectangle@center\endcsname}% + \pgf@x=\pgf@xa + }% + \inheritanchor[from=rectangle]{south west} + \inheritanchor[from=rectangle]{north west} + \inheritanchor[from=rectangle]{south east} + \inheritanchor[from=rectangle]{north east} + \inheritanchor[from=rectangle]{mid west} + \inheritanchor[from=rectangle]{mid east} + \inheritanchor[from=rectangle]{base west} + \inheritanchor[from=rectangle]{base east} + \inheritbackgroundpath[from=rectangle] + \anchorborder{% + % xa/ya is target + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + % xc/yc is "center" + \pgf@sh@reanchor{uncentered rectangle}{center}% + \pgf@xc=\pgf@x + \pgf@yc=\pgf@y + \ifdim\pgf@xa<0pt + % left side + \southwest + \advance\pgf@x by -\pgf@xc + \advance\pgf@y by -\pgf@yc + \pgf@x=-\pgf@x + \pgf@y=-\pgf@y + \edef\pgf@marshal{% + \noexpand\pgfpointborderrectangle + {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}} + {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + }% + \else + % right side + \northeast + \advance\pgf@x by -\pgf@xc + \advance\pgf@y by -\pgf@yc + \edef\pgf@marshal{% + \noexpand\pgfpointborderrectangle + {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}} + {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + }% + \fi + \pgf@process{\pgf@marshal}% + \advance\pgf@x by\pgf@xc + \advance\pgf@y by\pgf@yc + }% +} +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex index 830b3513e5..a5a982020f 100644 --- a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex @@ -5,6 +5,8 @@ % 1. under the LaTeX Project Public License and/or % 2. under the GNU Free Documentation License. % +\usepgflibrary{ext.pgfkeys-plus}% + %% full arc %% https://tex.stackexchange.com/a/144297/16595 %% The postfix operator R is added to PGFmath, @@ -73,28 +75,6 @@ {\tikzext@pgf@foreach@no@listfalse\pgffor@macro@list\tikzext@pgf@foreach@no@list@list} {\pgffor@@vars}}}}}% -%% Handlers -%% .pgfmath evaluates values given to keys in PGFmath before handing them over. -%% .pgfmath int truncates the result -%% .pgfmath strcat concatenates the given values -\pgfkeys{/handlers/.pgfmath/.code=\pgfmathparse{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} -\pgfkeys{/handlers/.pgfmath int/.code=\pgfmathint{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} -\pgfkeys{/handlers/.pgfmath strcat/.code=\pgfmathstrcat{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} - -%% http://tex.stackexchange.com/a/144187/16595 -%% key/.List={(point-1),(point-2),(point-...),(point-6)} will call -%% key=(point-1)(point-2)(point-3)(point-4)(point-5),(point-6) -\pgfkeys{/handlers/.List/.code={% - \let\pgfkeys@global@temp\pgfutil@empty - \foreach \pgfkeys@temp in{#1}{ - \ifx\pgfkeys@global@temp\pgfutil@empty - \global\let\pgfkeys@global@temp\pgfkeys@temp - \else - \expandafter\pgfutil@g@addto@macro\expandafter\pgfkeys@global@temp\expandafter - {\pgfkeys@temp}% - \fi}% - \expandafter\pgfkeys@exp@call\expandafter{\pgfkeys@global@temp}}} - %% PGFmath %% strrepeat("x", 5) = "xxxxx" \pgfmathdeclarefunction{strrepeat}{2}{% @@ -175,62 +155,11 @@ \pgfmathdeclarefunction{isEmpty}{1}{% \begingroup - \edef\pgfmath@temp{#1}% + \def\pgfmath@temp{#1}% \pgfutil@ifxempty\pgfmath@temp{\def\pgfmathresult{1}}{\def\pgfmathresult{0}}% \pgfmath@smuggleone\pgfmathresult \endgroup} -\pgfqkeys{/utils}{ - if/.code n args=3{% - \pgfmathparse{#1}% - \ifdim\pgfmathresult pt=0pt - \expandafter\pgfutil@firstoftwo - \else - \expandafter\pgfutil@secondoftwo - \fi - {\pgfkeysalso{#3}}% - {\pgfkeysalso{#2}}}, - IF/.code args={(#1)#2}{% - \pgfmathparse{#1}% - \pgfutil@in@{else}{#2}% - \ifpgfutil@in@ - \expandafter\pgfutil@firstoftwo - \else - \expandafter\pgfutil@secondoftwo - \fi - {\tikzext@misc@handle@else#2\pgf@stop}{\tikzext@misc@handle@else#2else\pgf@stop}% - }, - TeX/if/.code n args={4}{% - \if#1#2\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi - {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% - }, - TeX/ifnum/.code n args={3}{% - \ifnum#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi - {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% - }, - TeX/ifdim/.code n args={3}{% - \ifdim#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi - {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% - }, - TeX/ifx/.code n args={4}{% - \ifx#1#2\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi - {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% - }, - TeX/ifempty/.code n args={3}{% - \edef\pgfkeys@temp{#1}% - \pgfutil@ifxempty\pgfkeys@temp{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% - }, - tex/.search also=/utils/TeX, -} -\def\tikzext@misc@handle@else#1else#2\pgf@stop{% - \ifdim\pgfmathresult pt=0pt - \expandafter\pgfutil@firstoftwo - \else - \expandafter\pgfutil@secondoftwo - \fi - {\pgfkeysalso{#2}}% - {\pgfkeysalso{#1}}} - \pgfset{ declare constant/.code={% \let\pgfmathdeclareconstant@@@\pgfutil@empty diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex index c75f31b60a..e97bbf939d 100644 --- a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex @@ -306,12 +306,12 @@ % make sure direction is properly followed \ifdim\pgf@arcto@fS pt=1pt % counter clockwise - \ifdim\pgf@arcto@theta@end pt<\pgf@arcto@theta@start path + \ifdim\pgf@arcto@theta@end pt<\pgf@arcto@theta@start pt \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end+360}% \fi \else % clockwise - \ifdim\pgf@arcto@theta@end pt>\pgf@arcto@theta@start path + \ifdim\pgf@arcto@theta@end pt>\pgf@arcto@theta@start pt \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end-360}% \fi \fi diff --git a/graphics/pstricks/base/Changes b/graphics/pstricks/base/Changes index 64e75d7521..6f46436197 100644 --- a/graphics/pstricks/base/Changes +++ b/graphics/pstricks/base/Changes @@ -1,4 +1,4 @@ -% $Id: Changes 604 2022-09-11 14:17:36Z herbert $ +% $Id: Changes 644 2022-10-23 18:29:03Z herbert $ For all changes see file History! Here are only the last one changes listed. @@ -11,7 +11,8 @@ pstricks.tex -------- versions like 2.47a have only changes in other files, but not in this main package. -3.16 2022-09-11 - internal fix for an unneded tab character in \begingroup +3.17 2022-10-23 - fix for \pgfforeach +3.16 2022-09-11 - internal fix for an unneeded tab character in \begingroup 3.15 2022-09-11 - fix lualatex and pstricks code on the first page 3.14a 2022-09-08 - fix for wrong pro files 3.14 2022-08-30 - bugfix for \psdots* in pstricks-dots.tex diff --git a/graphics/pstricks/base/doc/pst-news22.pdf b/graphics/pstricks/base/doc/pst-news22.pdf Binary files differindex 92159f537f..fd93b6e939 100644 --- a/graphics/pstricks/base/doc/pst-news22.pdf +++ b/graphics/pstricks/base/doc/pst-news22.pdf diff --git a/graphics/pstricks/base/doc/pst-news22.tex b/graphics/pstricks/base/doc/pst-news22.tex index bfc5e2b7a1..9d8c674368 100644 --- a/graphics/pstricks/base/doc/pst-news22.tex +++ b/graphics/pstricks/base/doc/pst-news22.tex @@ -1,4 +1,4 @@ -%% $Id: pst-news22.tex 595 2022-08-30 18:08:22Z herbert $ +%% $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, @@ -27,35 +27,43 @@ \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 run \texttt{lualatex} then the +packahe \texttt{luapstricks} is automatically loaded. + + +%-------------------------------------------------------------------------------------- +\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.14 -- 2022/08/30)} +\section{\texttt{pstricks.tex} (v. 3.17 -- 2022/10/22)} %-------------------------------------------------------------------------------------- -Bugfix for \Lcs{psdots*}: -\begin{LTXexample}[width=5cm] -\begin{pspicture}[showgrid=true](3,2) - \psdot[dotstyle=pentagon,dotscale=5](1.5,1.5) - \psdots[dotsize=.4cm,dotstyle=square, - linecolor=red](0,0)(0.5,0)(1,1)(1.5,1)(2,2)(2.5,2) - \psdots*(2.5,0.6)\psdot(2.5,0.2) -\end{pspicture} -\end{LTXexample} +\subsection{pgf library} +This version fixes a problem with the upcoming pgf from which PSTricks uses the \Lcs{foreach} +command as \Lcs{pgfforeach}. -\begin{LTXexample}[width=5cm] -\begin{pspicture}[showgrid=true](3,2) - \psdot*[dotstyle=pentagon,dotscale=5](1.5,1.5) - \psdots*[dotsize=.4cm,dotstyle=square, - linecolor=red](0,0)(0.5,0)(1,1)(1.5,1)(2,2)(2.5,2) - \psdots*(2.5,0.6)\psdot(2.5,0.2) -\end{pspicture} -\end{LTXexample} +\subsection{Arrows} +There are new arrow types and a new optional argument \Lkeyword{tipcolor}. +Checking \Lkeyword{tipcolor} can be suppressed by setting +\begin{verbatim} +\makeatletter +\ps@check@tipcplor{} +\makeatother +\end{verbatim} +This is only needed in some rare cases, e.g. \Lcs{pscustom} with \Lcs{code} and +color setting on PS level. \nocite{*} diff --git a/graphics/pstricks/base/dvips/pstricks.pro b/graphics/pstricks/base/dvips/pstricks.pro index 47e9fd6631..c25657b9b9 100644 --- a/graphics/pstricks/base/dvips/pstricks.pro +++ b/graphics/pstricks/base/dvips/pstricks.pro @@ -1,4 +1,4 @@ -% $Id: pstricks.pro 407 2022-01-12 17:06:33Z herbert $ +% $Id: pstricks.pro 615 2022-09-22 08:39:26Z herbert $ % %% PostScript prologue for pstricks.tex. %% Version 1.41, 2021/11/16 @@ -379,7 +379,7 @@ tx@Dict begin % % /TruchetFill { % on stack: scaling factor - 10 dict begin + 20 dict begin dup dup scale 1 exch div round /penroseFactor ED a 0 dtransform round exch round exch @@ -445,7 +445,11 @@ tx@Dict begin { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto - gsave fill grestore + gsave +% gsave w neg h lineto CLW 0.5 add setlinewidth % test für border beim Pfeil +% 1 setgray 0 setlinejoin closepath stroke +% grestore + fill grestore } def % /ArrowD { % the sides are drawn as curves (hv 20071211) diff --git a/graphics/pstricks/base/generic/pstricks.tex b/graphics/pstricks/base/generic/pstricks.tex index 244b469e50..9d741d115a 100644 --- a/graphics/pstricks/base/generic/pstricks.tex +++ b/graphics/pstricks/base/generic/pstricks.tex @@ -74,15 +74,18 @@ %\@ifnextchar[\ProvidesPackageRCS@i{\ProvidesPackageRCS@i[] }}%$ %\def\ProvidesPackageRCS@i[#1]#2{} -\ifx\pgfkeysloaded\relax\else - \input pgfutil-common.tex - \input pgfkeys.code.tex - \input pgffor.code.tex +\ifx\pgfkeysloaded\relax\else + \ifdefined\@latexerr % format is latex + \RequirePackage{pgffor} % pgffor depends on pgfkeys + \else % format is plaintex + \input pgffor.tex + \fi \fi + \let\pgfforeach\foreach % -\def\fileversion{3.16} -\def\filedate{2022/09/11} +\def\fileversion{3.17} +\def\filedate{2022/10/23} \pst@addfams{pstricks} % %\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{} @@ -1486,9 +1489,9 @@ \ignorespaces% } \def\begin@OpenObj{% - \begin@ClosedObj% - \let\pst@linetype\pst@arrowtype% - \pst@addarrowdef% + \begin@ClosedObj + \let\pst@linetype\pst@arrowtype + \pst@addarrowdef } \def\begin@AltOpenObj{% \begin@ClosedObj diff --git a/graphics/pstricks/base/latex/pstricks.sty b/graphics/pstricks/base/latex/pstricks.sty index 30de94d110..6e256a7e05 100644 --- a/graphics/pstricks/base/latex/pstricks.sty +++ b/graphics/pstricks/base/latex/pstricks.sty @@ -1,4 +1,4 @@ -% $Id: pstricks.sty 262 2021-09-24 09:02:54Z herbert $ +% $Id: pstricks.sty 644 2022-10-23 18:29:03Z herbert $ %% %% This is file `pstricks.sty'. %% @@ -17,7 +17,8 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pstricks}[2021/08/23 v0.71 LaTeX wrapper for `PSTricks' (RN,HV)] + +\ProvidesPackage{pstricks}[2022/19/23 v0.72 LaTeX wrapper for `PSTricks' (RN,HV)] % \def\documentclass{% \edef\@tempa{\jobname.tex }% @@ -99,7 +100,7 @@ \ProvidesFile{pst-fp.tex}[\filedate\space v\fileversion\space `PST-fp' (hv)] \IfFileExists{pstricks.pro}{% \ProvidesFile{pstricks.pro} - [2020/06/09 v. 1.31, PostScript prologue file (hv)] + [2020/11/16 v. 1.41, PostScript prologue file (hv)] \@addtofilelist{pstricks.pro}}{}% \IfFileExists{pst-algparser.pro}{% \ProvidesFile{pst-algparser.pro}[2011/10/31 v. 0.04, PostScript prologue file (hv)] |