texlive[64506] Master/texmf-dist: tikz-ext (25sep22)
commits+karl at tug.org
commits+karl at tug.org
Sun Sep 25 22:13:55 CEST 2022
Revision: 64506
http://tug.org/svn/texlive?view=revision&revision=64506
Author: karl
Date: 2022-09-25 22:13:55 +0200 (Sun, 25 Sep 2022)
Log Message:
-----------
tikz-ext (25sep22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-calendar.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-intro.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-misc.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-node-families.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-trans.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-preamble.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-trans.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.pdf
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib
trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md 2022-09-25 20:13:55 UTC (rev 64506)
@@ -14,16 +14,23 @@
These are
- * `ext.calendar-plus`,
- * `ext.node-familes`,
- * `ext.transformations.mirror`,
- * `ext.paths.arcto`,
- * `ext.paths.ortho`,
- * `ext.paths.timer`,
- * `ext.patterns.images`,
- * `ext.positioning-plus`,
- * `ext.topaths.arcthrough` and
- * `ext.misc`.
+ * `ext.calendar-plus`
+ * `ext.node-families`
+ * `ext.node-families.shapes.geometric`
+ * `ext.paths.arcto`
+ * `ext.paths.ortho`
+ * `ext.paths.timer`
+ * `ext.patterns.images`
+ * `ext.positioning-plus`
+ * `ext.topaths.arcthrough`
+ * `ext.transformations.mirror`
+ * `ext.misc`
+ * Shapes:
+ * `ext.shapes.circlearrow`
+ * `ext.shapes.circlecrosssplit`
+ * `ext.shapes.heatmark`
+ * `ext.shapes.rectangleroundedcorners`
+ * `ext.shapes.superellopse`
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
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-calendar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-calendar.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-calendar.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -9,9 +9,11 @@
%
\section{Calendar: Weeknumbers and more conditionals}
+\label{sec:calendar}
\begin{package}{calendar-ext}
- This package adds week numbers and more conditionals to the PGF package |pgfcalendar|.
+ This package adds week numbers and more conditionals to the \pgfname\space package |pgfcalendar|.
(Despite the code example above, this package is not set up to work with Con\TeX t.)
+ \inspiration{WeekNum-Q,CalCond-Q}{WeekNum-A,CalCond-A}
\end{package}
%This package extends the |pgfcalendar| package.
@@ -48,7 +50,7 @@
\end{itemize}
The shorthands for |d-| and |m-| are slightly changed so that they are
-expandable. This makes it possible to use these shorthands inside of PGFmath.
+expandable. This makes it possible to use these shorthands inside of \pgfname math.
The shorthands for the week (see section~\ref{calendar:weeknumbering})
are added. These are
\begin{itemize}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-intro.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-intro.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-intro.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -10,19 +10,22 @@
\part{Introduction}
\begin{multicols}{2}
\section{Usage}
-This package is called |tikz-ext|, however, one can't load it via |\usepackage|.
-Instead, this package consists of multiple PGF and \tikzname\space libraries
+This package is called |tikz-ext|, however,
+one can't load it via |\usepackage|.%
+\footnote{Except for \texttt{calendar-ext} of section~\ref{sec:calendar}.}
+Instead, this package consists of multiple
+\pgfname\space and \tikzname\space libraries
which are loaded by either |\usepgflibrary| or |\usetikzlibrary|.
\section{Why do we need it?}
-Since I have been answering questions on \hyperlink{https://tex.stackexchange.com}{TeX.sx}
+Since I have been answering questions on
+\hyperlink{https://tex.stackexchange.com}{TeX.sx}
I've noticed that some questions come up again and again,
every time with a slightly different approach on how to solve them.
-I don't like reinventing the wheel which is why I've gathered the code of my answers in this package.
+I don't like reinventing the wheel which is why I've gathered
+the solutions of my answers in this package.
-And, yes, I am using them myself, too.
-
-\section{Should these libraries be part of \tikzname?}
-I guess.
+\section{Having problems?}
+Don't hesitate to open an issue on GitHub.
\end{multicols}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -10,7 +10,8 @@
\section{Calendar}
\begin{tikzlibrary}{ext.calendar-plus}
- This library extends the \tikzname\space library |calendar|\indexLibraryO{calendar}.
+ This library extends the \tikzname\space library \referenceLibraryandIndexO{calendar}.
+ \inspiration{WeekNum-Q,CalCond-Q,CalMath-Q}{WeekNum-A,CalCond-A,CalMath-A}
\end{tikzlibrary}
\begin{multicols}{2}
@@ -34,6 +35,17 @@
\begin{key}{/tikz/if=|(|\meta{conditions}|)|\meta{code or options}\opt{|else|\meta{else code or options}}}
\end{key}
+\subsection{\pgfname math functions}
+\begin{math-function}{weeksinmonthofyear(\mvar{first weekday}, \mvar{month}, \mvar{year})}
+\mathcommand
+ Returns the number of (partial) weeks in the month \mvar{month} of year \mvar{year}
+ when this month begins on a \mvar{first weekday}.
+\end{math-function}
+\begin{math-function}{lastdayinmonthofyear(\mvar{month}, \mvar{year})}
+\mathcommand
+ Returns the last day (28, 29, 30 or 31) of month \mvar{month} of year \mvar{year}.
+\end{math-function}
+
\subsection{Week numbering (ISO~8601)}
The actual week number algorithm is implemented by the |pgfcalendar-ext| package/module in section~\ref{calendar:weeknumbering}.
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-misc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-misc.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-misc.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -10,10 +10,11 @@
\section{And a little bit more}
\begin{tikzlibrary}{ext.misc}
- This library adds miscellaneous utilities to PGFmath, PGF or \tikzname.
+ This library adds miscellaneous utilities to \pgfname math, \pgfname\space or \tikzname.
+ \inspiration{FullArc-Q,ForeachUse-Q}{FullArc-A,ForeachUse-A}
\end{tikzlibrary}
-\subsection{PGFmath}
+\subsection{\pgfname math}
\begin{multicols}{2}
\pgfkeys{/codeexample/every codeexample/.append style={width=3cm}}
@@ -101,7 +102,7 @@
\end{math-function}
\subsubsection{Functions: using coordinates}
-The following functions can only be used with PGF and/or \tikzname.
+The following functions can only be used with \pgfname\space and/or \tikzname.
Since the arguments are usually plain text (and not numbers) one has to wrap
them in |"|.
\begin{math-function}{anglebetween("\mvar{p1}", "\mvar{p2}")}\mathcommand
@@ -135,18 +136,19 @@
(intersection of @--[shift=(vecB)]@ and B--A) coordinate (A);}
\end{tikzpicture}
\end{codeexample}
-\subsection{PGFkeys}
-
+\pagebreak
+\subsection{\pgfname keys}
+%
\begin{multicols}{2}
-
+%
\subsubsection{Conditionals}
\begin{key}{/utils/if=\meta{cond}\meta{true}\opt{\meta{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 PGFmath understands.
+ \meta{cond} can be anything that \pgfname math understands.
- As a side effect on how PGFkeys parses argument, the \meta{false} argument is
+ As a side effect on how \pgfname keys parses argument, the \meta{false} argument is
actually optional.
\end{key}
@@ -157,7 +159,7 @@
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}.
- As a side effect on how PGFkeys parses argument, the \meta{false} argument is
+ As a side effect on how \pgfname keys parses argument, the \meta{false} argument is
actually optional.
\end{key}
@@ -170,7 +172,7 @@
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 PGFkeys parses argument, the \meta{false} argument is
+ As a side effect on how \pgfname keys parses argument, the \meta{false} argument is
actually optional.
\end{key}
@@ -186,7 +188,7 @@
\subsubsection{Handlers}
-While already a lot of values given to keys are evaluated by PGFmath at some point,
+While already a lot of values given to keys are evaluated by \pgfname math at some point,
not all of them are.
\begin{handler}{{.pgfmath}|=|\meta{eval}}
@@ -226,13 +228,13 @@
\end{tikzpicture}
\end{codeexample}
-\subsection{PGFfor}
+\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 PGFmath at initialization.
+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}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-node-families.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-node-families.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-node-families.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -15,47 +15,35 @@
measurements to the \filetype{aux} file.
Unfortunately, this does not work with the |external| library.\indexLibraryO{external}%
- \footnote{Not only would the \texttt{external} library not notice the change of the value between compilations runs,
- it also changes the way \texttt{\textbackslash pgfutil at writeout} works which suddenly writes to the \textsc{log} file instead.}
+ \footnote{First of all, I can't figure out how to use the \textsc{aux} file during externalization since it gets written to the \textsc{log} instead.
+ And then there's the question about how \texttt{external} would notice the need to export the picture again until it's stable \dots}
+
+ \inspiration{NodeFam-Q}{NodeFam-A}
+
\end{tikzlibrary}
-This library introduces two new shapes called |Circle| and |Rectangle|
-that are basically copies of the original shapes |circle|\indexShapeO{circle} and |rectangle|\indexShapeO{rectangle}.
-However, their dimension will be set to the same maximum |minimum width| and |minimum height|
-when one of the following \meta{name}s are declared.
-\begin{key}{/tikz/node family/width=\meta{name} (initially |\{\}|)}
-Nodes with the same \meta{name} will have the same \referenceKeyandIndexO[/pgf/]{minimum width}.
-An empty \meta{name} disables the evaluation by the library.
-\begin{codeexample}[preamble=\usetikzlibrary{positioning,ext.node-families},/tikz/node distance=.5cm]
-\tikzexternaldisable % ext.node-families does not work with active externalization
-\begin{tikzpicture}[nodes={Rectangle, draw, node family/width=manual}]
-\node (a) {Foo};
-\node[below=of a] (b) {Foobar};
-\end{tikzpicture}
-\end{codeexample}
+Before we get to the interesting keys, a common prefix can be set for the families' names.
+Initially this is |\pgfpictureid-| so that families of different pictures don't interact.
+\begin{key}{/tikz/node family/prefix=\meta{prefix}(initially \string\pgfpictureid-)}
+The family names are prefixed with the value of |/tikz/node family/prefix|.
\end{key}
-\begin{key}{/tikz/node family/height=\meta{name} (initially |\{\}|)}
-Nodes with the same \meta{name} will have the same \referenceKeyandIndexO[/pgf/]{minimum height}.
-An empty \meta{name} disables the evaluation by the library.
-\end{key}
-\begin{key}{/tikz/node family/size=\meta{name}}
-Sets both |height| and |width|.
-\end{key}
-While |node family/width| and |node family/height| only work for the new shapes |Circle| and |Rectangle|,
-the following keys~-- when setup, see below~-- work with every shape with one single node part.
-Initially though, only |circle|, |rectangle|, |Circle| and |Rectangle| are set up that way.
-\begin{key}{/tikz/node family/text height=\meta{name} (initially |\{\}|)}
+\subsection{Text Box}
+\label{ssec:nf-text}
+The following keys~-- when setup, see below~-- work with every shape with one single node part.%
+\footnote{Technically, it will also work with shapes with multiple node parts but it will only affect the main node part.}
+Initially though, only \referenceShapeandIndexO{circle} and \referenceShapeandIndexO{rectangle} are set up that way.
+\begin{key}{/tikz/node family/text height=\meta{name} (initially \{\})}
Nodes with the same \meta{name} will have the same text height.
An empty \meta{name} disables the evaluation by the library.
\end{key}
-\begin{key}{/tikz/node family/text depth=\meta{name} (initially |\{\}|)}
+\begin{key}{/tikz/node family/text depth=\meta{name} (initially \{\})}
Nodes with the same \meta{name} will have the same text depth.
An empty \meta{name} disables the evaluation by the library.
\end{key}
-\begin{key}{/tikz/node family/text width=\meta{name} (initially |\{\}|)}
+\begin{key}{/tikz/node family/text width=\meta{name} (initially \{\})}
Nodes with the same \meta{name} will have the same text width.
An empty \meta{name} disables the evaluation by the library.
\end{key}
@@ -68,12 +56,12 @@
the previous key only extends the width of that box which would make the text
seem as if it where aligned to the left.
With |text width family align| this can changed.
-\begin{key}{/tikz/node family/text width align=\meta{alignment}(initially |center|)}
+\begin{key}{/tikz/node family/text width align=\meta{alignment}(initially center)}
\meta{alignment} is one of |left|, |center| or |right|.
\begin{codeexample}[preamble=\usetikzlibrary{positioning,ext.node-families},/tikz/node distance=.5cm]
\tikzexternaldisable % ext.node-families does not work with active externalization
-\begin{tikzpicture}[nodes={Rectangle, draw, node family={text width=manual, text width align=right}}]
+\begin{tikzpicture}[nodes={rectangle, draw, node family={text width=manual, text width align=right}}]
\node (a) {Foo};
\node[below=of a] (b) {Foobar};
\end{tikzpicture}
@@ -80,10 +68,6 @@
\end{codeexample}
\end{key}
-\begin{key}{/tikz/node family/prefix=\meta{prefix}(initially \expandafter|\string\pgfpictureid-|)}
-The family names are prefixed with the value of |/tikz/node family/prefix|.
-\end{key}
-
\begin{key}{/tikz/node family/setup shape=\meta{shape}}
This adds instructions to the \meta{shape}'s definition which
adjust the text box's dimensions according to the family.
@@ -90,9 +74,47 @@
This should be only used once per shape.
\end{key}
-\begin{codeexample}[width=9cm,preamble=\usetikzlibrary{ext.node-families,shapes.geometric}]
+
+\subsection{Minimum Width/Height}
+While the keys of the previous subsection work well enough for nodes of the same shape
+(and the same |inner sep|s), for different node shapes the text box dimensions will be used
+differently for the node's total dimension.
+
+For this, the following keys are necessary.
+When one of the keys are used the values of |minimum width| and/or |minimum height| are set to |nf_width| or |nf_height| respectively.
+\begin{key}{/tikz/node family/width=\meta{name} (initially \{\})}
+Nodes with the same \meta{name} will have the same \referenceKeyandIndexO[/pgf/]{minimum width}.
+An empty \meta{name} disables the evaluation by the library.
+\begin{codeexample}[preamble=\usetikzlibrary{positioning,ext.node-families},/tikz/node distance=.5cm]
\tikzexternaldisable % ext.node-families does not work with active externalization
-\begin{tikzpicture}[node family/setup shape=diamond]
+\begin{tikzpicture}[nodes={rectangle, draw, node family/width=manual}]
+\node (a) {Foo};
+\node[below=of a] (b) {Foobar};
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
+\begin{key}{/tikz/node family/height=\meta{name} (initially \{\})}
+Nodes with the same \meta{name} will have the same \referenceKeyandIndexO[/pgf/]{minimum height}.
+An empty \meta{name} disables the evaluation by the library.
+\end{key}
+\begin{key}{/tikz/node family/size=\meta{name}}
+Sets both |height| and |width|.
+\end{key}
+
+\clearpage
+\subsection{More shapes that support the keys \texttt{width} and \texttt{height}}
+\begin{tikzlibrary}{ext.node-families.shapes.geometric}
+ This library adds support for the keys \referenceKeyandIndex[/tikz/node family/]{width} and
+ \referenceKeyandIndex[/tikz/node family/]{height} for the shapes of
+ the \pgfname\space library \referenceLibraryandIndexO{shapes.geometric}.
+
+ \inspirationQ{NodeFam-Ellipse}
+\end{tikzlibrary}
+The shapes are also setup for the keys from subsection~\ref{ssec:nf-text}.
+
+\begin{codeexample}[width=9cm,preamble=\usetikzlibrary{ext.node-families.shapes.geometric}]
+\tikzexternaldisable % ext.node-families does not work with active externalization
+\begin{tikzpicture}
\foreach \cnt[count=\Cnt] in {a,...,h}
\node[draw, diamond, node family/text=aTOh] (\cnt)
at (right:\Cnt) {\cnt};
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -13,6 +13,8 @@
\begin{tikzlibrary}{ext.paths.timer}
This library adds timers to the path specifications |rectangle|, |parabola|, |sin| and |cos|.
+
+ \inspiration{TimerRect-Q,TimerPara-Q}{TimerRect-A,TimerPara-A}
\end{tikzlibrary}
In \tikzname, the path specification |rectangle|, |parabola|, |sin| and |cos| do not provide
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -13,6 +13,8 @@
\begin{tikzlibrary}{ext.patterns.images}
This library allows to use an image to be used as a repeating pattern for a path.
+
+ \inspiration{Pattern-Q}{Pattern-A}
\end{tikzlibrary}
With this library arbitrary images (or indeed PDF documents) can be used as
@@ -27,9 +29,9 @@
\begin{command}{\pgfsetupimageaspattern\oarg{options}\marg{name}\marg{image}}
\end{command}
-\begin{key}{/tikz/image as pattern=\meta{options} (default |\{\}|)}
+\begin{key}{/tikz/image as pattern=\meta{options} (default \{\})}
-\begin{codeexample}[preamble=\usetikzlibrary{ext.patterns.images}]
+\begin{codeexample}[preamble=\usetikzlibrary{ext.patterns.images,shapes.geometric}]
\pgfsetupimageaspattern[width=.5cm]{grid}{example-image-1x1}
\tikz \node[star, minimum size=3cm, draw,
image as pattern={name=grid,options={left, bottom, y=-.5cm, rotate=45}}] {};
@@ -41,7 +43,7 @@
\end{key}
\begin{stylekey}{/tikz/image as pattern/option}
-Options that's be used by the internal |\pgftext|,\indexCommandO{\pgftext}
+Options that will be used by the internal |\pgftext|,\indexCommandO{\pgftext}
only keys from |/pgf/text| should be used.\indexKeyO[/pgf/]{text}
\end{stylekey}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -12,7 +12,7 @@
\label{library:positioning-plus}
\tikzsetnextfilename{posplus}
\begin{tikzlibrary}{ext.positioning-plus}
- With the help of the |positioning|\indexLibrary{positioning} and the |fit|\indexLibrary{fit} library this extends the placement of nodes.
+ With the help of the \referenceLibraryandIndexO{positioning} and the \referenceLibraryandIndexO{fit} library this extends the placement of nodes.
\end{tikzlibrary}
\subsection{Useful corner anchors}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-trans.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-trans.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-trans.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -17,7 +17,7 @@
\end{tikzlibrary}
As explained in section~\ref{pgflibrary:transformations}, there are two approaches to setting a mirror transformation.
-As with the commands in PGF, we'll be using a lowercase |m| for the reflection matrix and an uppercase |M| for the built-in approach.
+As with the commands in \pgfname, we'll be using a lowercase |m| for the reflection matrix and an uppercase |M| for the built-in approach.
\subsection{Using the reflection matrix}
@@ -31,7 +31,7 @@
\end{tikzpicture}
\end{codeexample}
-\begin{key}{/tikz/xmirror=\meta{value or coordinate}}
+\begin{key}{/tikz/xmirror=\meta{value or coordinate} (default 0pt)}
Sets up a transformation that mirrors along a horizontal line that goes through point $(\text{\meta{value}}, 0)$ or \meta{coordinate}.
\begin{codeexample}[preamble=\usetikzlibrary{ext.transformations.mirror}]
@@ -45,12 +45,12 @@
\end{codeexample}
\end{key}
-\begin{key}{/tikz/ymirror=\meta{value or coordinate}}
+\begin{key}{/tikz/ymirror=\meta{value or coordinate} (default 0pt)}
Sets up a transformation that mirrors along a vertical line that goes through point $(0, \text{\meta{value}})$ or \meta{coordinate}.
\end{key}
-\begin{key}{/tikz/mirror x=\meta{coordinate}}
+\begin{key}{/tikz/mirror x=\meta{coordinate} (default {(0,0)})}
Similar to |/tikz/xmirror|, this however uses the |xyz| coordinate system instead of the |canvas| system.
\begin{codeexample}[preamble=\usetikzlibrary{ext.transformations.mirror}]
\begin{tikzpicture}[x=.5cm, y=(45:1cm)]
@@ -65,7 +65,7 @@
\end{codeexample}
\end{key}
-\begin{key}{/tikz/mirror y=\meta{coordinate}}
+\begin{key}{/tikz/mirror y=\meta{coordinate} (default {(0,0)})}
Similar to |/tikz/ymirror|, this however uses the |xyz| coordinate system instead of the |canvas| system.
\end{key}
@@ -88,7 +88,7 @@
\end{tikzpicture}
\end{codeexample}
-\begin{key}{/tikz/xMirror=\meta{value or coordinate}}
+\begin{key}{/tikz/xMirror=\meta{value or coordinate} (default 0pt)}
Sets up a transformation that mirrors along a horizontal line that goes through point $(\text{\meta{value}}, 0)$ or \meta{coordinate}.
\begin{codeexample}[preamble=\usetikzlibrary{ext.transformations.mirror}]
@@ -102,12 +102,12 @@
\end{codeexample}
\end{key}
-\begin{key}{/tikz/yMirror=\meta{value or coordinate}}
+\begin{key}{/tikz/yMirror=\meta{value or coordinate} (default 0pt)}
Sets up a transformation that mirrors along a vertical line that goes through point $(0, \text{\meta{value}})$ or \meta{coordinate}.
\end{key}
-\begin{key}{/tikz/Mirror x=\meta{coordinate}}
+\begin{key}{/tikz/Mirror x=\meta{coordinate} (default {(0,0)})}
Similar to |/tikz/xMirror|, this however uses the |xyz| coordinate system instead of the |canvas| system.
\begin{codeexample}[preamble=\usetikzlibrary{ext.transformations.mirror}]
\begin{tikzpicture}[x=.5cm, y=(45:1cm)]
@@ -122,7 +122,7 @@
\end{codeexample}
\end{key}
-\begin{key}{/tikz/Mirror y=\meta{coordinate}}
+\begin{key}{/tikz/Mirror y=\meta{coordinate} (default {(0,0)})}
Similar to |/tikz/yMirror|, this however uses the |xyz| coordinate system instead of the |canvas| system.
\end{key}
@@ -133,4 +133,4 @@
When only \meta{point A} is given that line goes through \meta{point A} and the origin.
\end{key}
-\endinput
+\endinput
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -8,23 +8,13 @@
% 2. under the GNU Free Documentation License.
%
\newcommand*\tikzextname{Ti\textit kZ-Extensions}
-\newcommand*\tikzextversion{0.2}
-
-%\includeonly{
-% tikz-ext-manual-en-library-paths.arcto,
-% tikz-ext-manual-en-library-paths.ortho,
-% tikz-ext-manual-en-library-paths.timer,
-% tikz-ext-manual-en-library-patterns.images,
-% tikz-ext-manual-en-library-topaths.arcthrough,
-% tikz-ext-manual-en-library-trans,
-% tikz-ext-manual-en-pgf-trans,
-% tikz-ext-manual-en-library-misc,
-%}
+\newcommand*\tikzextversion{0.3}
\begin{document}
-
+{\colorlet{blue}{black}% links shall be black
\title{\bfseries The \tikzextname\space Package\\
\large Manual for version \tikzextversion\\[1mm]
-\large\href{https://github.com/Qrrbrbirlbel/tikz-extensions}{\texttt{https://github.com/Qrrbrbirlbel/tikz-extensions}}
+\large\href{https://github.com/Qrrbrbirlbel/tikz-extensions}
+ {\texttt{https://github.com/Qrrbrbirlbel/tikz-extensions}}
\author{Qrrbrbirlbel}}
\maketitle
@@ -31,8 +21,7 @@
\label{table-of-contents}
\tableofcontents
-
-
+}
\include{tikz-ext-manual-en-intro}
\part{\tikzname\space Libraries}
@@ -80,16 +69,20 @@
\tikzsetfigurename{paths.ortho} \include{tikz-ext-manual-en-library-paths.ortho}
\tikzsetfigurename{paths.timer} \include{tikz-ext-manual-en-library-paths.timer}
\tikzsetfigurename{patterns.images} \include{tikz-ext-manual-en-library-patterns.images}
-\tikzsetfigurename{positioning-plus}\include{tikz-ext-manual-en-library-positioning-plus}
-\tikzsetfigurename{topaths.arcthrough}\include{tikz-ext-manual-en-library-topaths.arcthrough}
-\tikzsetfigurename{trans} \include{tikz-ext-manual-en-library-trans}
+\tikzsetfigurename{positioning-plus}
+\include{tikz-ext-manual-en-library-positioning-plus}
+\tikzsetfigurename{topaths.arcthrough}
+\include{tikz-ext-manual-en-library-topaths.arcthrough}
+\tikzsetfigurename{trans}
+\include{tikz-ext-manual-en-library-trans}
-\part{PGF Libraries}
+\part{\pgfname\space Libraries}
\label{part:pgf}
-These libraries (should) work with both PGF and \tikzname.
+These libraries (should) work with both \pgfname\space and \tikzname.
\begin{center}\tikzsetnextfilename{main-graph}
-\begin{codeexample}[width=10cm,preamble=\usetikzlibrary{graphs,graphdrawing,ext.misc} \usegdlibrary{force}]
+\begin{codeexample}[width=10cm,preamble=%
+ \usetikzlibrary{graphs,graphdrawing,ext.misc} \usegdlibrary{force}]
\tikzset{
mynode/.style={
circle, minimum size=10mm, draw, densely dashdotted, thick,
@@ -126,7 +119,12 @@
\end{center}
\tikzsetfigurename{PGF.trans}\include{tikz-ext-manual-en-pgf-trans}
-
+\tikzsetfigurename{PGF.shapes}%
+\include{tikz-ext-manual-en-pgf-shapes-circlearrow}
+\include{tikz-ext-manual-en-pgf-shapes-circlecrosssplit}
+\include{tikz-ext-manual-en-pgf-shapes-heatmark}
+\include{tikz-ext-manual-en-pgf-shapes-rectround}
+\include{tikz-ext-manual-en-pgf-shapes-superellipse}
\part{Utilities}
\label{part:misc}
@@ -163,16 +161,29 @@
%%% END
\newcommand*{\addTikz}[1]{Added \tikzname\space library \texttt{ext.#1}.}
-\newcommand*{\addPGF}[1]{Added PGF library \texttt{ext.#1}.}
-\part{Changelog \& Index}
-\section*{Changelog}
-\begin{multicols}{2}
+\newcommand*{\addPGF}[1]{Added \pgfname\space 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.3
+\begin{itemize}
+\item \addShape[circle arrow]{circlearrow}
+\item \addShape[circle cross split]{circlecrosssplit}
+\item \addShape{heatmark}
+\item \addShape[rectangle with rounded corners]{rectangleroundedcorners}
+\item \addShape{superellipse}
+\item \addTikz{node-families.shapes.geometric}
+\item Fixed |ext.node-families|' key |size|.
+\item Renamed internal macros to use custom namespace starting with |\tikzext@|.
+\item Added some references.
+\end{itemize}
Version 0.2
\begin{itemize}
\item \addTikz{positioning-plus}
\item \addTikz{node-families}
\end{itemize}
-
Version 0.1
\begin{itemize}
\item \addTikz{calendar-plus}
@@ -188,5 +199,6 @@
\end{multicols}
\printindex
+\printbibliography[heading=bibintoc]
%\typeout{Examples: \the\codeexamplecount}%
\end{document}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-preamble.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-preamble.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-preamble.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -14,9 +14,15 @@
\usepackage{imakeidx}
\makeindex
+
+%%% Bibliography
+\usepackage{csquotes}
+\usepackage[backend=biber,style=numeric,backref]{biblatex}
+\addbibresource{tikz-ext-manual.bib}
+
\usepackage{hyperref}
\hypersetup{%
- colorlinks=false, % use true to enable colors below:
+ colorlinks=true, % use true to enable colors below:
linkcolor=blue,%red,
filecolor=blue,%magenta,
urlcolor=blue,%cyan,
@@ -88,16 +94,23 @@
ext.calendar-plus,
ext.misc,
ext.node-families,
+ ext.node-families.shapes.geometric,
ext.paths.arcto,
ext.paths.ortho,
ext.paths.timer,
ext.patterns.images,
ext.positioning-plus,
+ ext.shapes.heatmark,
+ ext.shapes.circlearrow,
+ ext.shapes.circlecrosssplit,
+ ext.shapes.rectangleroundedcorners,
+ ext.shapes.superellipse,
ext.topaths.arcthrough,
ext.transformations.mirror,
%
calc,
fit,
+ matrix,
shapes.geometric,
through,
trees,
@@ -262,10 +275,13 @@
\index{Key handlers!#1@\protect\texttt{#1}}
}
\newcommand*{\indexKey}[2][/tikz/]{%
+\begingroup
\def\mykey{#1#2}%
\def\mypath{}%
\gdef\myname{}%
+ \firsttimetrue
\decompose#1#2/\nil
+\endgroup
}
\newcommand*{\indexPathOperation}[1]{%
\index{#1@\protect\texttt{#1} path operation}%
@@ -345,7 +361,11 @@
\index{\strippedat @\originalprefix\protect\texttt{\original{\protect\string\protect#1}}\originalsuffix}%
}
-\newcommand*{\referenceKeyandIndexO}[2][/tikz/]{\texttt{#1#2}\indexKeyO[#1]{#2}}%
+\newcommand*{\referenceKeyandIndexO}[2][/tikz/]{\texttt{#1#2}\indexKeyO[#1]{#2}}
+\newcommand*{\referenceKeyandIndex}[2][/tikz/]{\texttt{#1#2}\indexKey[#1]{#2}}
+\newcommand*{\referenceShapeandIndex}[1]{\texttt{#1}\indexShape{#1}}
+\newcommand*{\referenceShapeandIndexO}[1]{\texttt{#1}\indexShapeO{#1}}
+\newcommand*{\referenceLibraryandIndexO}[1]{\texttt{#1}\indexLibraryO{#1}}
\colorlet{originalindex}{gray}
\newcommand*{\original}[1]{\textcolor{originalindex}{#1}}
@@ -362,7 +382,21 @@
\makeatletter
\def\index at prologue{\section*{Index}\addcontentsline{toc}{section}{Index}
This index contains automatically generated entries as well as {\originalprefix\original{references}\originalsuffix} to
- original functionalities of PGF/\tikzname.
+ original functionalities of \pgfname/\tikzname.
\bigskip
}
-\makeatother
\ No newline at end of file
+\makeatother
+
+\DeclareMathOperator{\sgn}{sgn}
+
+\newenvironment{implementation}{%
+ \noindent\rule[.5ex]{\linewidth}{.4pt}\par
+ \paragraph*{Notes on Implementation:}\par%
+ \small
+ \begin{quotation}%
+}{\end{quotation}}
+
+\newcommand*{\inspiration}[2]{%
+ \par\textbf{Q\,\&\,A:} \cite{#1} \& \cite{#2}\par
+}
+\newcommand*\inspirationQ[1]{\par\textbf{Q:} \cite{#1}}
\ No newline at end of file
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,93 @@
+% !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: Circle Arrow}
+\begin{pgflibrary}{ext.shapes.circlearrow}
+ A circular shape named |circle arrow| that has an arc as its background path that can have an arrow tip.
+ \inspiration{ShapeCircleArrow-Q}{ShapeCircleArrow-A}
+\end{pgflibrary}
+\begin{shape}{circle arrow}
+ This shape is an arrow whose path is an arc -- defined very similar to the |arc|%
+ \indexPathOperationO{arc} path operation -- that can possibly be customized with
+ arrow tips.
+
+ \begin{key}{/pgf/circle arrow start angle=\meta{start angle} (initially \{\})}
+ Sets the start angle.
+ \end{key}
+ \begin{key}{/pgf/circle arrow end angle=\meta{end angle} (initially \{\})}
+ Sets the end angle.
+ \end{key}
+ \begin{key}{/pgf/circle arrow delta angle=\meta{delta angle} (initially \{\})}
+ Sets the delta angle.
+ \end{key}
+ \begin{key}{/pgf/circle arrow arrows=%
+ \meta{start arrow tip specification}-\meta{end arrow tip specification} (initially -)}
+ The specification will be forwarded to |\pgfsetarrows|\indexCommandO{\pgfsetarrows}.
+ \end{key}
+
+ A few handful styles are pre-defined.
+ \begin{key}{/pgf/circle arrow turn left north}
+ Sets |circle arrow start angle = 100|, |circle arrow delta angle = 340|
+ and |circle arrow arrows = ->|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn left east}
+ As above but |circle arrow start angle = 10|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn left west}
+ As above but |circle arrow start angle = 280|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn left south}
+ As above but |circle arrow start angle = 190|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn right north}
+ Sets |circle arrow start angle = 100|, |circle arrow delta angle = 340|
+ and |circle arrow arrows = <-|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn right east}
+ As above but |circle arrow start angle = 10|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn right west}
+ As above but |circle arrow start angle = 280|.
+ \end{key}
+ \begin{key}{/pgf/circle arrow turn right south}
+ As above but |circle arrow start angle = 190|.
+ \end{key}
+
+{\catcode`\|=12
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.circlearrow,matrix}]
+\begin{tikzpicture}
+\matrix[matrix of nodes, draw=none, row sep=1em, column sep=1em,
+ every node/.style={draw=gray, shape=circle arrow, ultra thick, inner sep=1em}
+] (m) {
+ |[circle arrow turn left north]| & |[circle arrow turn left east]| \\
+ |[circle arrow turn left west]| & |[circle arrow turn left south]| \\
+ |[circle arrow turn right north]| & |[circle arrow turn right east]| \\
+ |[circle arrow turn right west]| & |[circle arrow turn right south]| \\
+};
+\end{tikzpicture}
+\end{codeexample}
+}
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.circlearrow},width=16cm]
+\begin{tikzpicture}\Huge
+\node[name=s, shape=circle arrow,
+ circle arrow turn left west, shape example]
+ {Circle Arrow\vrule width 1pt height 2cm};
+\foreach \anchor/\placement in
+ {north west/above left, north/above, north east/above right,
+ west/left, center/above, east/right,
+ mid west/right, mid/above, mid east/left,
+ base west/left, base/below, base east/right,
+ south west/below left, south/below, south east/below right,
+ text/left, 10/right, 130/above}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,53 @@
+% !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: Circle Cross Split}
+\begin{pgflibrary}{ext.shapes.circlecrosssplit}
+ A circular shape with four parts that can be individually filled.
+ \inspiration{ShapeSplitCircle-Q}{ShapeSplitCircle-A}
+\end{pgflibrary}
+\begin{shape}{circle cross split}
+This shape has four node parts that are placed near the center of a circle.
+
+\begin{key}{/pgf/circle cross split part fill=\marg{list} (initially none)}
+Sets the custom fill color for each node part shape.
+The items in \meta{list} should be separated by commas
+(so if there is more than one item in \meta{list}, it must be surrounded by braces).
+If \meta{list} has less entries than node parts,
+then the remaining node parts use the color from the last entry in the list.
+This key will automatically set |/pgf/circle cross split uses custom fill|.
+\end{key}
+\begin{key}{/pgf/circle cross split uses custom fill=\opt{\meta{boolean}} (default true)}
+This enables the use of a custom fill for each of the node parts
+(including the area covered by the |inner sep|).
+The background path for the shape should not be filled (e.\,g., in \tikzname,
+the |fill| option for the node must be implicitly or explicitly set to |none|).
+Internally, this key sets the \TeX-if |\ifpgfcirclecrosssplitcustomfill| appropriately.
+\end{key}
+\begin{codeexample}[preamble=\usepgflibrary{ext.shapes.circlecrosssplit}]
+\begin{tikzpicture}\Huge
+\node[name=s, shape=circle cross split, shape example, inner xsep=1.5cm, fill=none,
+ circle cross split part fill={green,blue,red,yellow!90!black}]
+ {\nodepart{text}text\nodepart{two}two
+ \nodepart{three}three\nodepart{four}four};
+\foreach \anchor/\placement in
+ {north west/above left, north/above, north east/above right,
+ west/left, center/left, east/right,
+ mid west/right, mid/left, mid east/left,
+ base west/left, base/left, base east/right,
+lower base west/left, lower base/below, lower base east/right,
+ lower mid west/left, lower mid/above, lower mid east/right,
+ south west/below left, south/below, south east/below right,
+ text/below, 10/right, 130/above, two/left, three/left, four/left}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,83 @@
+% !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: Heatmark}
+\begin{pgflibrary}{ext.shapes.heatmark}
+ A circular shape that has customizable rings around it.
+ \inspiration{ShapeHeat-Q}{ShapeHeat-A}
+\end{pgflibrary}
+
+\begin{shape}{heatmark}
+ \begin{key}{/pgf/heatmark arcs=\meta{arcs num} (initially 3)}
+ Sets the number of arc around the circle to \meta{arcs num}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc width=\meta{arc width} (initially 4pt)}
+ Sets the width of the rings around the circle to \meta{arc width}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc sep=\meta{sep length} (initially 1pt)}
+ Sets the whitespace between the rings to \meta{sep length}.
+ \end{key}
+ \begin{key}{/pgf/heatmark arc rings=\meta{rings num} (initially 3)}
+ Sets the number of rings around the circle to \meta{rings num}
+ \end{key}
+ \begin{key}{/pgf/heatmark arc sep angle=\meta{sep angle} (initially 20)}
+ Sets the whitespace angle between the arcs in one ring to \meta{sep angle}.
+ \end{key}
+ \begin{key}{/pgf/heatmark inner opacity=\meta{inner opacity} (initially 0.8)}
+ Sets the opacity of the inner ring to \meta{inner opacity}.
+ \end{key}
+ \begin{key}{/pgf/heatmark outer opacity=\meta{low opacity} (initially 0.2)}
+ Sets the opacity of the outer ring to \meta{outer opacity}.
+
+ The opacity of the rings between the outer and the inner ring will be interpolated by these two opacities.
+ \end{key}
+
+This shape takes the value of |/pgf/shape border rotate|%
+\indexKeyO[/pgf/]{shape border rotate} into consideration.
+
+For every ring and for every arc the following styke keys are tried.
+\begin{stylekey}{/pgf/heatmark ring \meta{ring number}}
+\end{stylekey}
+\begin{stylekey}{/pgf/heatmark arc \meta{arc number}}
+\end{stylekey}
+\begin{stylekey}{/pgf/heatmark ring \meta{ring number} arc \meta{arc number}}
+\end{stylekey}
+
+The \pgfname shape is setup in a way that even \tikzname\space
+styles can be used with a little bit work:
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark}]
+\tikz[
+ shape border rotate=90,
+ /pgf/heatmark ring 1/.append style={/tikz/fill=green},
+ /pgf/heatmark arc 1/.append style={/tikz/fill=blue},
+ /pgf/heatmark ring 2 arc 2/.append style={/tikz/fill=yellow!70!black}
+] \node[heatmark, fill=red] (n) {100};
+\end{codeexample}
+
+It is best to use this shape with no actual border (|draw = none|) and the |outer sep| set to zero.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark},width=16cm]
+\begin{tikzpicture}\Huge
+\node[name=s, shape=heatmark, shape example,
+ fill=blue!25, draw=none, outer sep=0pt]
+ {Heatmark\vrule width 1pt height 2cm};
+\foreach \anchor/\placement in
+ {north west/above left, north/above,
+ north east/above right,
+ west/left, center/above, east/right,
+ mid west/right, mid/above, mid east/left,
+ base west/left, base/below, base east/right,
+ south west/below left, south/below,
+ south east/below right,
+ text/left, 10/right, 130/above}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,58 @@
+% !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: Rectangle with Rounded Corners}
+\begin{pgflibrary}{ext.shapes.rectangleroundedcorners}
+ A rectangle with rounded corners.
+\end{pgflibrary}
+
+\begin{shape}{rectangle with rounded corners}
+This library provides a |rectangle with rounded corners| where every corner can have a different radius.
+
+\begin{key}{/pgf/rectangle with rounded corners north west radius=\meta{dimen} (initially .5\string\pgflinewidth)}
+ Sets the north west radius to \meta{dimen}.
+\end{key}
+\begin{key}{/pgf/rectangle with rounded corners north east radius=\meta{dimen} (initially .5\string\pgflinewidth)}
+ Sets the north east radius to \meta{dimen}.
+\end{key}
+\begin{key}{/pgf/rectangle with rounded corners south west radius=\meta{dimen} (initially .5\string\pgflinewidth)}
+ Sets the south west radius to \meta{dimen}.
+\end{key}
+\begin{key}{/pgf/rectangle with rounded corners south east radius=\meta{dimen} (initially .5\string\pgflinewidth)}
+ Sets the south east radius to \meta{dimen}.
+\end{key}
+\begin{key}{/pgf/rectangle with rounded corners radius=\meta{dimen}}
+ Sets all radii to \meta{dimen}.
+\end{key}
+
+\begin{codeexample}[preamble=\usepgflibrary{ext.shapes.rectangleroundedcorners}]
+\begin{tikzpicture}\Huge
+\node[name=s, shape=rectangle with rounded corners, shape example,
+ rectangle with rounded corners north west radius=10pt,
+ rectangle with rounded corners north east radius=20pt,
+ rectangle with rounded corners south west radius=30pt,
+ rectangle with rounded corners south east radius=40pt] {Rectangle with rounded corners\vrule width 1pt height 2cm};
+\foreach \anchor/\placement in
+ {north west/above left, north/above, north east/above right,
+ west/left, center/above, east/right,
+ mid west/right, mid/above, mid east/left,
+ base west/left, base/below, base east/right,
+ south west/below left, south/below, south east/below right,
+ text/below, 10/right, 130/above,
+ north west center/below right, north east center/left,
+ south west center/above right, south east center/left,
+ below north west/left, above south west/left, above south east/right, below north east/right,
+ right north west/above, right south west/below, left south east/below, left north east/above}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,105 @@
+% !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: Superellipse}
+\begin{pgflibrary}{ext.shapes.superellipse}
+ Shape in the form of a ``superellipse''.
+ \inspiration{ShapeSuperEllipse-Q}{ShapeSuperEllipse-A}
+\end{pgflibrary}
+
+\begin{shape}{superellipse}
+This shape is defined by formula
+\begin{equation*}
+ \biggl|\frac x{r_x}\biggr|^m + \biggl|\frac y{r_y}\biggr|^n = 1
+\end{equation*}
+and will be plotted by
+\begin{align*}
+ x(t) &= |\cos t|^{\frac 2m} \cdot r_x \sgn(\cos t) \\
+ y(t) &= |\sin t|^{\frac 2n} \cdot r_y \sgn(\sin t) \\
+\end{align*}
+where $r_x$ is half the node's width and $r_y$ is half the node's height.
+
+\begin{key}{/pgf/superellipse x exponent=\meta{x exponent}(initially 2.5)}
+This sets $m$.
+\end{key}
+\begin{key}{/pgf/superellipse y exponent=\meta{y exponent}(initially 2.5)}
+This sets $n$.
+\end{key}
+\begin{key}{/pgf/superellipse step=\meta{step}(initially 5)}
+This specifies the step of the underlying plot handler.
+The smaller \meta{step} is, the slower computation will be.
+
+Sensible values for \meta{step} are integer dividers of 90, i.\,e.
+2, 3, 5, 6, 9, 10, 15, 18, 30 and 45.
+\end{key}
+\begin{key}{/pgf/superellipse exponent=\meta{exponent}}
+ Sets both |superellipse x exponent| and |superellipse y exponent| to \meta{exponent}.
+\end{key}
+
+\paragraph{Notes on Implementation}
+For implementing this shape, additional mathematical functions were declared.
+\begin{math-function}{superellipsex(\mvar{t}, \mvar{2/m}, \mvar{$r_x$})}
+\mathcommand
+Returns the $x$ value on a point of the superellipse with its center on the origin following
+\begin{equation*}
+ x = r_x\cos^{2/m} t
+\end{equation*}
+for values of $0 \leq t \leq 90$.
+\end{math-function}
+\begin{math-function}{superellipsey(\mvar{t}, \mvar{2/n}, \mvar{$r_y$})}
+\mathcommand
+Returns the $y$ value on a point of the superellipse with its center on the origin following
+\begin{equation*}
+ y = r_y\cos^{2/n} t
+\end{equation*}
+for values of $0 \leq t \leq 90$.
+\end{math-function}
+
+Both \pgfname math functions can be used at once with the following macro.
+\begin{command}{\pgfmathsuperellipseXY\marg{t}\marg{2/m}\marg{2/n}\marg{a}\marg{b}}
+Returns the $x$ value (in |\pgfmathresultX|) and the $y$ value (in |\pgfmathresultY|) of the superellipse with its center on the origin following
+\begin{align*}
+ x & = a\cos^{2/m} t \\
+ y & = b\cos^{2/n} t
+\end{align*}
+for values of $0 \leq t \leq 90$.
+
+Note: all arguments must be a valid number since they will not be parsed by \pgfname math.
+\end{command}
+
+And additional internal macro was defined following the original naming scheme.
+\def\temp{\begin{command}}%
+\expandafter\temp\expandafter{\csname pgfutil at prefix@macrotomacro\endcsname\marg{macro 1}\marg{macro 2}}
+Adds the once-expansion of \meta{macro 2} in front of \meta{macro 1}.
+\end{command}
+
+\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.superellipse}]
+\begin{tikzpicture}[superellipse step=1]\Huge
+\node[name=s,shape=superellipse,shape example] {Superellipse\vrule width 1pt height 2cm};
+\foreach \anchor/\placement in
+ {north west/above left, north/above, north east/above right,
+ west/left, center/above, east/right,
+ mid west/right, mid/above, mid east/left,
+ base west/left, base/below, base east/right,
+ south west/below left, south/below, south east/below right,
+ text/left, 10/right, 130/above}
+ \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)}
+ node[\placement] {\scriptsize\texttt{(s.\anchor)}};
+\end{tikzpicture}
+\end{codeexample}
+%
+\begin{codeexample}[width=8cm,preamble=\usetikzlibrary{ext.shapes.superellipse}]
+\begin{tikzpicture}[minimum width=1cm, minimum height=3cm]
+\foreach \xe/\ye[count=\i] in {.5/.5, 1/1, 2/2, 3/3, .5/5}
+ \node[draw, superellipse, superellipse x exponent=\xe, superellipse y exponent=\ye] at (1.5*\i,0) {};
+\end{tikzpicture}
+\end{codeexample}
+\end{shape}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-trans.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-trans.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-trans.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -12,7 +12,7 @@
\label{pgflibrary:transformations}
\begin{purepgflibrary}{ext.transformations.mirror}
- This library adds mirror transformations to PGF.
+ This library adds mirror transformations to \pgfname.
\end{purepgflibrary}
Two approaches to mirror transformation exist:
@@ -20,11 +20,12 @@
\item Using the reflection matrix (see left column).
This depends on |\pgfpointnormalised|\indexCommandO\pgfpointnormalised which involves
- the sine\indexMathFunctionO{sin} and the cosine\indexMathFunctionO{cos} functions of PGFmath.
+ the sine\indexMathFunctionO{sin} and the cosine\indexMathFunctionO{cos} functions of \pgfname math.
\item Using built-in transformations (see right column).
- This depends on |\pgfmathanglebetween|\indexCommandO\pgfmathanglebetween which involves the arctangent (|atan2|\indexMathFunctionO{atan2}) function of PGFmath.
+ This depends on |\pgfmathanglebetweenpoints|\indexCommandO\pgfmathanglebetweenpoints which
+ involves the arctangent (|atan2|\indexMathFunctionO{atan2}) function of \pgfname math.
\end{enumerate}
Which one is better? I don't know.
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,299 @@
+'
+ at Misc{NodeFam-Q,
+ author = {Holene},
+ month = apr,
+ title = {Dependent node size in {TikZ}},
+ year = {2017},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/107227/dependent-node-size-in-tikz/121054#121054:text/html},
+ url = {https://tex.stackexchange.com/q/107227/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{NodeFam-A,
+ author = {Qrrbrbirlbel},
+ month = jun,
+ title = {Answer to \enquote{{Dependent} node size in {TikZ}}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/107227/dependent-node-size-in-tikz/121054#121054:text/html},
+ url = {https://tex.stackexchange.com/a/121054/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{TimerRect-Q,
+ author = {CrazyArm},
+ month = apr,
+ title = {Is {It} {Possible} to {Combine} {TikZ} {Distance} and {Line}-{To} {Operations}?},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/106558/is-it-possible-to-combine-tikz-distance-and-line-to-operations/106571#106571:text/html},
+ url = {https://tex.stackexchange.com/q/106558/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{TimerRect-A,
+ author = {Qrrbrbirlbel},
+ month = apr,
+ title = {Answer to \enquote{{Is} {It} {Possible} to {Combine} {TikZ} {Distance} and {Line}-{To} {Operations}?}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/106558/is-it-possible-to-combine-tikz-distance-and-line-to-operations/106571#106571:text/html},
+ shorttitle = {Answer to "{Is} {It} {Possible} to {Combine} {TikZ} {Distance} and {Line}-{To} {Operations}?},
+ url = {https://tex.stackexchange.com/a/106571/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{TimerPara-Q,
+ author = {cis},
+ month = may,
+ title = {{TikZ}: {How} to place a coordinate at parabola-path-position?},
+ year = {2020},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/543251/tikz-how-to-place-a-coordinate-at-parabola-path-position/621012#621012:text/html},
+ shorttitle = {{TikZ}},
+ url = {https://tex.stackexchange.com/q/543251/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{TimerPara-A,
+ author = {Qrrbrbirlbel},
+ month = nov,
+ title = {Answer to \enquote{{TikZ}: {How} to place a coordinate at parabola-path-position?}},
+ year = {2021},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/543251/tikz-how-to-place-a-coordinate-at-parabola-path-position/621012#621012:text/html},
+ shorttitle = {Answer to "{TikZ}},
+ url = {https://tex.stackexchange.com/a/621012/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{Pattern-Q,
+ author = {knut},
+ month = mar,
+ title = {{TikZ}: {Define} pattern with reference to external picture},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/103980/tikz-define-pattern-with-reference-to-external-picture/107144#107144:text/html},
+ shorttitle = {{TikZ}},
+ url = {https://tex.stackexchange.com/q/103980/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{Pattern-A,
+ author = {Qrrbrbirlbel},
+ month = apr,
+ title = {Answer to \enquote{{TikZ}: {Define} pattern with reference to external picture}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/103980/tikz-define-pattern-with-reference-to-external-picture/107144#107144:text/html},
+ shorttitle = {Answer to "{TikZ}},
+ url = {https://tex.stackexchange.com/a/107144/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{WeekNum-Q,
+ author = {Fence},
+ month = nov,
+ title = {Add week day to calendar},
+ year = {2019},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/517338/add-week-day-to-calendar/651888#651888:text/html},
+ url = {https://tex.stackexchange.com/q/517338/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{WeekNum-A,
+ author = {Qrrbrbirlbel},
+ month = jul,
+ title = {Answer to \enquote{{Add} week day to calendar}},
+ year = {2022},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/517338/add-week-day-to-calendar/651888#651888:text/html},
+ url = {https://tex.stackexchange.com/a/651888/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{CalCond-Q,
+ author = {healyp},
+ month = oct,
+ title = {{TikZ} calendar and conditional tests},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/140948/tikz-calendar-and-conditional-tests/141027#141027:text/html},
+ url = {https://tex.stackexchange.com/q/140948/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{CalCond-A,
+ author = {Qrrbrbirlbel},
+ month = oct,
+ title = {Answer to \enquote{{TikZ} calendar and conditional tests}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/140948/tikz-calendar-and-conditional-tests/141027#141027:text/html},
+ url = {https://tex.stackexchange.com/a/141027/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{CalMath-Q,
+ author = {cis},
+ month = dec,
+ title = {{TikZ} / calendar: {Set} the height of a monthly calendar},
+ year = {2018},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/464589/tikz-calendar-set-the-height-of-a-monthly-calendar/653146#653146:text/html},
+ shorttitle = {{TikZ} / calendar},
+ url = {https://tex.stackexchange.com/q/464589/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{CalMath-A,
+ author = {Qrrbrbirlbel},
+ month = aug,
+ title = {Answer to \enquote{{TikZ} / calendar: {Set} the height of a monthly calendar}},
+ year = {2022},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/464589/tikz-calendar-set-the-height-of-a-monthly-calendar/653146#653146:text/html},
+ shorttitle = {Answer to "{TikZ} / calendar},
+ url = {https://tex.stackexchange.com/a/653146/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{FullArc-Q,
+ author = {Peter, Anthony},
+ month = apr,
+ title = {A rather difficult ring like picture to be drawn},
+ year = {2017},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/144293/a-rather-difficult-ring-like-picture-to-be-drawn/144297#144297:text/html},
+ url = {https://tex.stackexchange.com/q/144293/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{FullArc-A,
+ author = {Qrrbrbirlbel},
+ month = nov,
+ title = {Answer to "{A} rather difficult ring like picture to be drawn"},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/144293/a-rather-difficult-ring-like-picture-to-be-drawn/144297#144297:text/html},
+ url = {https://tex.stackexchange.com/a/144297/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{NodeFam-Ellipse,
+ author = {nkk},
+ month = jun,
+ title = {How to prevent tikz custom node fill from covering the text when using node-families library},
+ year = {2019},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/494862/how-to-prevent-tikz-custom-node-fill-from-covering-the-text-when-using-node-fami:text/html},
+ url = {https://tex.stackexchange.com/q/494862/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{ShapeHeat-Q,
+ author = {boje},
+ month = may,
+ title = {Heatmap over country like {Google} {Map}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/112929/heatmap-over-country-like-google-map/113004#113004:text/html},
+ url = {https://tex.stackexchange.com/q/112929/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{ShapeHeat-A,
+ author = {Qrrbrbirlbel},
+ month = may,
+ title = {Answer to \enquote{{Heatmap} over country like {Google} {Map}}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/112929/heatmap-over-country-like-google-map/113004#113004:text/html},
+ url = {https://tex.stackexchange.com/a/113004/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Misc{ShapeSplitCircle-Q,
+ author = {Marco},
+ month = apr,
+ title = {{TikZ} - {Four} {Colored} {Circle} {Split}},
+ year = {2017},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/121686/tikz-four-colored-circle-split/121767#121767:text/html},
+ url = {https://tex.stackexchange.com/q/121686/16595},
+ urldate = {2022-09-24},
+}
+
+ at Misc{ShapeSplitCircle-A,
+ author = {Qrrbrbirlbel},
+ month = jun,
+ title = {Answer to \enquote{{TikZ} - {Four} {Colored} {Circle} {Split}}},
+ year = {2013},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/121686/tikz-four-colored-circle-split/121767#121767:text/html},
+ url = {https://tex.stackexchange.com/a/121767/16595},
+ urldate = {2022-09-24},
+}
+
+'
+ at Online{ShapeSuperEllipse-Q,
+ author = {somenxavier},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/649144/an-oval-surrounded-a-long-text-inside-in-tikz-equivalent-cover-background-of/654759#654759:text/html},
+ month = aug,
+ title = {An oval surrounded a *long text* inside in {TikZ} [equivalent cover background of {METAFUN}]},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/q/649144/16595},
+ urldate = {2022-09-24},
+ year = {2022},
+}
+
+ at Online{ShapeSuperEllipse-A,
+ author = {Qrrbrbirlbel},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/649144/an-oval-surrounded-a-long-text-inside-in-tikz-equivalent-cover-background-of/654759#654759:text/html},
+ month = aug,
+ title = {Answer to \enquote{An oval surrounded a *long text* inside in {TikZ} [equivalent cover background of {METAFUN}]}},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/a/654759/16595},
+ urldate = {2022-09-24},
+ year = {2022},
+}
+
+'
+ at Online{ShapeCircleArrow-Q,
+ author = {projetmbc},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/95221/tikz-circled-arrow/95263#95263:text/html},
+ month = jan,
+ title = {{TikZ} - \enquote{Circled} arrow},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/q/95221/16595},
+ urldate = {2022-09-24},
+ year = {2013},
+}
+
+ at Online{ShapeCircleArrow-A,
+ author = {Qrrbrbirlbel},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/95221/tikz-circled-arrow/95263#95263:text/html},
+ month = jan,
+ title = {Answer to \enquote{{TikZ} - \enquote{Circled} arrow}},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/a/95263/16595},
+ urldate = {2022-09-24},
+ year = {2013},
+}
+
+'
+ at Online{ForeachUse-Q,
+ author = {Bar, Foo},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/110962/how-to-use-declared-tikz-functions-in-foreach-condition/110996#110996:text/html},
+ month = apr,
+ title = {How to use declared {TikZ} functions in {\textbackslash}foreach condition?},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/q/110962/16595},
+ urldate = {2022-09-24},
+ year = {2013},
+}
+
+ at Online{ForeachUse-A,
+ author = {Qrrbrbirlbel},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/110962/how-to-use-declared-tikz-functions-in-foreach-condition/110996#110996:text/html},
+ month = apr,
+ shorttitle = {Answer to "How to use declared {TikZ} functions in {\textbackslash}foreach condition?},
+ title = {Answer to \enquote{How to use declared {TikZ} functions in {\textbackslash}foreach condition?}},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/a/110996/16595},
+ urldate = {2022-09-24},
+ year = {2013},
+}
+
+ at Comment{jabref-meta: databaseType:bibtex;}
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -19,7 +19,6 @@
%\iftikzextmanualexternalize
\tikzexternalize[
prefix=tikz/,
-% prefix=../../tikz-extensions-tikz/,
% mode=convert with system call,
%mode=list and make,
%mode=list only,export=true,% simply skips EVERY picture -> good for debugging the text.
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,66 @@
+% 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.
+%
+\pgfset{
+ circle arrow start angle/.initial=,
+ circle arrow end angle/.initial=,
+ circle arrow delta angle/.initial=,
+ circle arrow arrows/.initial=-,
+ circle arrow/@turn left/.style={/pgf/circle arrow arrows=->,/pgf/circle arrow delta angle=340},
+ circle arrow/@turn right/.style={/pgf/circle arrow arrows=<-,/pgf/circle arrow delta angle=340},
+ circle arrow turn left north/.style = {/pgf/circle arrow/@turn left, /pgf/circle arrow start angle=100},
+ circle arrow turn left east/.style = {/pgf/circle arrow/@turn left, /pgf/circle arrow start angle=10},
+ circle arrow turn left south/.style = {/pgf/circle arrow/@turn left, /pgf/circle arrow start angle=280},
+ circle arrow turn left west/.style = {/pgf/circle arrow/@turn left, /pgf/circle arrow start angle=190},
+ circle arrow turn right north/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=100},
+ circle arrow turn right east/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=10},
+ circle arrow turn right south/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=280},
+ circle arrow turn right west/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=190},
+}
+\pgfdeclareshape{circle arrow}{
+ \inheritsavedanchors[from=circle]
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \backgroundpath{
+ \pgfkeysgetvalue{/pgf/circle arrow start angle}\pgf at sh@circlearrow at s
+ \pgfkeysgetvalue{/pgf/circle arrow end angle}\pgf at sh@circlearrow at e
+ \pgfkeysgetvalue{/pgf/circle arrow delta angle}\pgf at sh@circlearrow at d
+ \ifx\pgf at sh@circlearrow at s\pgfutil at empty%
+ \pgfmathsetmacro\pgf at sh@circlearrow at s{\pgf at sh@circlearrow at e-\pgf at sh@circlearrow at d}%
+ \else
+ \ifx\pgf at sh@circlearrow at e\pgfutil at empty%
+ \pgfmathsetmacro\pgf at sh@circlearrow at e{\pgf at sh@circlearrow at s+\pgf at sh@circlearrow at d}%
+ \fi%
+ \fi
+ \pgfutil at tempdima=\radius
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \ifdim\pgf at xb<\pgf at yb
+ \advance\pgfutil at tempdima by-\pgf at yb
+ \else
+ \advance\pgfutil at tempdima by-\pgf at xb
+ \fi
+ \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpointpolar{\pgf at sh@circlearrow at s}{\pgfutil at tempdima}}}%
+ \pgfpatharc{\pgf at sh@circlearrow at s}{\pgf at sh@circlearrow at e}{\pgfutil at tempdima}%
+ \pgfkeysgetvalue{/pgf/circle arrow arrows}\pgf at temp
+ \expandafter\pgfsetarrows\expandafter{\pgf at temp}%
+ }
+}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,292 @@
+% 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.
+%
+\usepgflibrary{shapes.multipart}
+\let\pgfnodeparttrbox\pgfnodeparttwobox
+\let\pgfnodepartblbox\pgfnodepartthreebox
+\let\pgfnodepartbrbox\pgfnodepartfourbox
+\newif\ifpgfcirclecrosssplitcustomfill
+\pgfset{%
+ circle cross split part fill/.code=%
+ \def\pgf at lib@sh at ccs@list at fill{#1}%
+ \pgfcirclecrosssplitcustomfilltrue,%
+ circle cross split uses custom fill/.is if=pgfcirclecrosssplitcustomfill
+}
+\def\pgf at lib@sh at ccs@list at fill{none}%
+\pgfdeclareshape{circle cross split}{%
+ \nodeparts{text,two,three,four}%
+ \savedanchor\centerpoint{%
+ \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+ \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \pgf at x =\wd\pgfnodeparttextbox
+ \pgf at yb=\dp\pgfnodeparttextbox
+ \pgf at y=\dp\pgfnodeparttwobox
+ \ifdim\pgf at yb>\pgf at y
+ \pgf at y=\pgf at yb
+ \fi
+ \advance\pgf at x\pgf at xa
+ \advance\pgf at y-\pgf at ya
+ \advance\pgf at x.5\pgflinewidth
+ \advance\pgf at y-.5\pgflinewidth
+ }%
+ \savedanchor\twoanchor{%
+ \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+ \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \advance\pgf at x.5\pgflinewidth
+ \advance\pgf at x\pgf at xa
+ \advance\pgf at y.5\pgflinewidth
+ \advance\pgf at y\pgf at ya
+ \pgf at yb\dp\pgfnodeparttextbox
+ \pgf at yc\dp\pgfnodeparttwobox
+ \ifdim\pgf at yb>\pgf at yc
+ \pgf at yc\pgf at yb
+ \fi
+ \advance\pgf at y\pgf at yc
+ }%
+ \savedanchor\threeanchor{%
+ \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \pgf at x\wd\pgfnodeparttextbox
+ \pgf at yb\dp\pgfnodeparttextbox
+ \pgf at yc\dp\pgfnodeparttwobox
+ \ifdim\pgf at yb>\pgf at yc
+ \pgf at yc\pgf at yb
+ \fi
+ \advance\pgf at y-\pgf at yc
+ \advance\pgf at y-2\pgf at ya
+ \advance\pgf at y-\pgflinewidth
+ \pgf at yb\ht\pgfnodepartthreebox
+ \pgf at yc\ht\pgfnodepartfourbox
+ \ifdim\pgf at yb>\pgf at yc
+ \pgf at yc\pgf at yb
+ \fi
+ \advance\pgf at y-\pgf at yc
+ \advance\pgf at x-\wd\pgfnodepartthreebox
+ }%
+ \saveddimen\radius{%
+ % height (upper):
+ \pgf at y=\ht\pgfnodeparttextbox
+ \ifdim\pgf at y<\ht\pgfnodeparttwobox
+ \pgf at y=\ht\pgfnodeparttwobox
+ \fi
+ \ifdim\dp\pgfnodeparttextbox>\dp\pgfnodeparttwobox
+ \advance\pgf at y by\dp\pgfnodeparttextbox
+ \else
+ \advance\pgf at y by\dp\pgfnodeparttwobox
+ \fi
+ % height (lower):
+ \pgf at yb\ht\pgfnodepartthreebox
+ \ifdim\pgf at yb<\ht\pgfnodepartfourbox
+ \pgf at yb=\ht\pgfnodepartfourbox
+ \fi
+ \pgf at yc=\dp\pgfnodepartthreebox
+ \ifdim\pgf at yc<\dp\pgfnodepartfourbox
+ \advance\pgf at yb by\dp\pgfnodepartfourbox
+ \else
+ \advance\pgf at yb by\pgf at yc
+ \fi
+ \ifdim\pgf at yc>\pgf at y
+ \pgf at y=\pgf at yc
+ \fi
+ \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \advance\pgf at y2\pgf at ya
+ %
+ \pgf at x\wd\pgfnodeparttextbox
+ \pgf at xa\wd\pgfnodepartthreebox
+ \pgf at xb\wd\pgfnodeparttwobox
+ \pgf at xc\wd\pgfnodepartfourbox
+ \ifdim\pgf at xa>\pgf at x
+ \pgf at x\pgf at xa
+ \fi
+ \ifdim\pgf at xb>\pgf at x
+ \pgf at x\pgf at xb
+ \fi
+ \ifdim\pgf at xc>\pgf at x
+ \pgf at x\pgf at xc
+ \fi
+ \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+ \advance\pgf at x by 2\pgf at xa
+ \ifdim\pgf at y>\pgf at x
+ \pgf at x=\pgf at y
+ \fi
+ \advance\pgf at x by\pgflinewidth
+ %
+ \pgf at xa=\pgf at x
+ \pgf at ya=\pgf at y
+ % from circle:
+ \pgf at process{\pgfpointnormalised{}}%
+ \ifdim\pgf at x>\pgf at y%
+ \c at pgf@counta=\pgf at x%
+ \ifnum\c at pgf@counta=0\relax%
+ \else%
+ \divide\c at pgf@counta by 255\relax%
+ \pgf at xa=16\pgf at xa\relax%
+ \divide\pgf at xa by\c at pgf@counta%
+ \pgf at xa=16\pgf at xa\relax%
+ \fi%
+ \else%
+ \c at pgf@counta=\pgf at y%
+ \ifnum\c at pgf@counta=0\relax%
+ \else%
+ \divide\c at pgf@counta by 255\relax%
+ \pgf at ya=16\pgf at ya\relax%
+ \divide\pgf at ya by\c at pgf@counta%
+ \pgf at xa=16\pgf at ya\relax%
+ \fi%
+ \fi%
+ \pgf at x=\pgf at xa%
+ %
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
+ \ifdim\pgf at x<.5\pgf at xb
+ \pgf at x=.5\pgf at xb
+ \fi
+ \ifdim\pgf at x<.5\pgf at yb
+ \pgf at x=.5\pgf at yb
+ \fi
+ %
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \ifdim\pgf at xb<\pgf at yb
+ \advance\pgf at x\pgf at yb
+ \else
+ \advance\pgf at x\pgf at xb
+ \fi
+ }%
+ \inheritanchorborder[from=circle]%
+ \inheritanchor[from=circle]{north}%
+ \inheritanchor[from=circle]{north west}%
+ \inheritanchor[from=circle]{north east}%
+ \inheritanchor[from=circle]{center}%
+ \inheritanchor[from=circle]{west}%
+ \inheritanchor[from=circle]{east}%
+ \inheritanchor[from=circle]{mid}%
+ \inheritanchor[from=circle]{mid west}%
+ \inheritanchor[from=circle]{mid east}%
+ \inheritanchor[from=circle]{base}%
+ \inheritanchor[from=circle]{base west}%
+ \inheritanchor[from=circle]{base east}%
+ \inheritanchor[from=circle]{south}%
+ \inheritanchor[from=circle]{south west}%
+ \inheritanchor[from=circle]{south east}%
+ \anchor{two}{\twoanchor}%
+ \anchor{three}{\threeanchor}%
+ \anchor{four}{
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \twoanchor
+ \pgf at y=\pgf at ya
+ }%
+ \anchor{lower base}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ }
+ \anchor{lower base west}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ \advance\pgf at x by-\radius
+ }
+ \anchor{lower base east}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ \advance\pgf at x by\radius
+ }
+ \anchor{lower mid}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ \pgfmathsetlength\pgf at ya{+.5ex}%
+ \advance\pgf at y by\pgf at ya
+ }
+ \anchor{lower mid west}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ \advance\pgf at x by-\radius
+ \pgfmathsetlength\pgf at ya{+.5ex}%
+ \advance\pgf at y by\pgf at ya
+ }
+ \anchor{lower mid east}{%
+ \threeanchor
+ \pgf at ya=\pgf at y
+ \centerpoint
+ \pgf at y=\pgf at ya
+ \advance\pgf at x by\radius
+ \pgfmathsetlength\pgf at ya{+.5ex}%
+ \advance\pgf at y by\pgf at ya
+ }
+ \inheritbackgroundpath[from=circle]
+ \beforebackgroundpath{%
+ \pgfutil at tempdima=\radius
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \ifdim\pgf at xb<\pgf at yb
+ \advance\pgfutil at tempdima by-\pgf at yb
+ \else
+ \advance\pgfutil at tempdima by-\pgf at xb
+ \fi
+ \advance\pgfutil at tempdima by-.5\pgflinewidth%
+ \pgfsetshortenstart{0pt}%
+ \pgfsetshortenend{0pt}%
+ \pgfsetarrows{-}%
+ \pgfpathmoveto
+ {\pgfpointadd{\centerpoint}{\pgfqpoint{-\pgfutil at tempdima}{0pt}}}%
+ \pgfpathlineto
+ {\pgfpointadd{\centerpoint}{\pgfqpoint{\pgfutil at tempdima}{0pt}}}%
+ \pgfpathmoveto
+ {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{-\pgfutil at tempdima}}}%
+ \pgfpathlineto
+ {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{\pgfutil at tempdima}}}%
+ \pgfusepathqstroke
+ }%
+ \behindbackgroundpath{%
+ \pgfutil at tempdima=\radius
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \ifdim\pgf at xb<\pgf at yb
+ \advance\pgfutil at tempdima by-\pgf at yb
+ \else
+ \advance\pgfutil at tempdima by-\pgf at xb
+ \fi
+ \advance\pgfutil at tempdima by-.5\pgflinewidth%
+ \ifpgfcirclecrosssplitcustomfill%
+ \pgf at lib@sh at rs@process at list{\pgf at lib@sh at ccs@list at fill}{4}%
+ {%
+ \pgfmathloop
+ \ifnum\pgfmathcounter>4%
+ \else%
+ \pgf at lib@sh at getalpha\pgf at lib@sh at rs@number{\pgfmathcounter}%
+ \edef\pgf at tempa
+ {\csname pgf at lib@sh at rs@\pgf at lib@sh at rs@number @item\endcsname}%
+ \ifx\pgf at tempa\pgf at lib@sh at rs@nonetext\else
+ \pgfsetfillcolor{\pgf at tempa}%
+ \ifcase\pgfmathcounter\or
+ \def\pgf at lib@sh at ccs@angle{90}\or
+ \def\pgf at lib@sh at ccs@angle{0}\or
+ \def\pgf at lib@sh at ccs@angle{180}\else
+ \def\pgf at lib@sh at ccs@angle{270}%
+ \fi
+ \pgfpathmoveto{\centerpoint}%
+ \pgfpathlineto{\pgfpointadd{\centerpoint}
+ {\pgfqpointpolar{\pgf at lib@sh at ccs@angle}{\pgfutil at tempdima}}}%
+ \pgfpatharc{+\pgf at lib@sh at ccs@angle}{\pgf at lib@sh at ccs@angle+90}
+ {+\pgfutil at tempdima}%
+ \pgfpathclose
+ \pgfusepathqfill
+ \fi
+ \repeatpgfmathloop
+ }%
+ \fi
+ }%
+}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,181 @@
+% 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.
+%
+\pgfset{
+ heatmark arc width/.initial=+4pt,
+ heatmark arc sep/.initial=+1pt,
+ heatmark arc rings/.initial=3,
+ heatmark arcs/.initial=3,
+ heatmark arc sep angle/.initial=20,
+ heatmark inner opacity/.initial=.8,
+ heatmark outer opacity/.initial=.2
+}
+\pgfdeclareshape{heatmark}
+%
+% Draws a circle around the text
+%
+{
+ \savedanchor\centerpoint{%
+ \pgf at x=.5\wd\pgfnodeparttextbox%
+ \pgf at y=.5\ht\pgfnodeparttextbox%
+ \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
+ }
+
+ \saveddimen\innerradius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf at ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf at ya by.5\dp\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \advance\pgf at ya by\pgf at yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf at xa=.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/inner xsep}}%
+ \advance\pgf at xa by\pgf at xb%
+ %
+ % Calculate length of radius vector:
+ %
+ \pgf at process{\pgfpointnormalised{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
+ \ifdim\pgf at x>\pgf at y%
+ \c at pgf@counta=\pgf at x%
+ \ifnum\c at pgf@counta=0\relax%
+ \else%
+ \divide\c at pgf@counta by 255\relax%
+ \pgf at xa=16\pgf at xa\relax%
+ \divide\pgf at xa by\c at pgf@counta%
+ \pgf at xa=16\pgf at xa\relax%
+ \fi%
+ \else%
+ \c at pgf@counta=\pgf at y%
+ \ifnum\c at pgf@counta=0\relax%
+ \else%
+ \divide\c at pgf@counta by 255\relax%
+ \pgf at ya=16\pgf at ya\relax%
+ \divide\pgf at ya by\c at pgf@counta%
+ \pgf at xa=16\pgf at ya\relax%
+ \fi%
+ \fi%
+ \pgf at x=\pgf at xa%
+ %
+ % If necessary, adjust radius so that the size requirements are
+ % met:
+ %
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
+ \ifdim\pgf at x<.5\pgf at xb%
+ \pgf at x=.5\pgf at xb%
+ \fi%
+ \ifdim\pgf at x<.5\pgf at yb%
+ \pgf at x=.5\pgf at yb%
+ \fi%
+ }%
+
+ \saveddimen\radius{%
+ \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \ifdim\pgf at xb<\pgf at yb%
+ \advance\pgf at x by\pgf at yb%
+ \else%
+ \advance\pgf at x by\pgf at xb%
+ \fi%
+ \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}%
+ \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}+\pgfkeysvalueof{/pgf/heatmark arc sep}}%
+ \multiply\pgf at xa\c at pgf@counta
+ \advance\pgf at x\pgf at xa
+ }%
+ %
+ % Anchors
+ %
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \inheritanchorborder[from=circle]
+ %
+ % Background path
+ %
+ \backgroundpath{
+ \pgfutil at tempdima=\innerradius%
+ \pgfpathcircle{\centerpoint}{\pgfutil at tempdima}%
+ }%
+ %
+ %
+ %
+ \behindbackgroundpath{%
+ \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}% heat arc rings
+ \pgfmathsetcount\c at pgf@countb{\pgfkeysvalueof{/pgf/heatmark arcs}}% heat arcs
+ \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}}% heat arc width
+ \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/heatmark arc sep}}% heat arc sep
+ %\pgfmathsetmacro\pgf at tempa{\pgfkeysvalueof{/pgf/heat arc sep angle}}% heat arc sep angle
+ \pgfmathsetmacro\pgf at tempb{360/\c at pgf@countb-(\pgfkeysvalueof{/pgf/heatmark arc sep angle})}% heat arc
+ \pgfmathsetmacro\pgf at tempc{\pgfkeysvalueof{/pgf/shape border rotate}}% heat rotate
+ %
+ \pgfmathsetmacro\pgf at tempd{\pgfkeysvalueof{/pgf/heatmark inner opacity}}% heat opacity high
+ \ifnum\c at pgf@counta=1
+ \def\tikzext at heatmark@opacity at seps{0}%
+ \else
+ \pgfmathsetmacro\tikzext at heatmark@opacity at seps
+ {(\pgf at tempd-(\pgfkeysvalueof{/pgf/heatmark outer opacity}))%
+ /(\c at pgf@counta-1)}%
+ \fi
+ \pgfutil at tempcnta=0
+ \pgfutil at tempcntb=0
+ \pgf at ya\innerradius\relax
+ \pgftransformshift{\centerpoint}
+ \pgfutil at loop % ring loop
+ \advance\pgf at ya\pgf at xb % current radius + heat arc sep
+ \pgf at yb\pgf at ya
+ \advance\pgf at yb\pgf at xa % current radius + heat arc sep + heat arc width
+ \pgfsetfillopacity{\pgf at tempd}%
+ \begingroup
+ \edef\pgf at marshal{\noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax/.try}}%
+ \pgf at marshal
+ \csname tikz at options\endcsname
+ {%
+ \pgfutil at loop
+ \pgfmathsetmacro\tikzext at heatmark@start at angle{\pgf at tempc-.5*\pgf at tempb+\pgfutil at tempcntb*(360/\c at pgf@countb)}%
+ % path
+ \begingroup
+ \edef\pgf at marshal{\noexpand\pgfset{heatmark arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}%
+ \noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax\space arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}}%
+ \pgf at marshal
+ \csname tikz at options\endcsname
+ \pgfpathmoveto{\pgfpointpolar{\tikzext at heatmark@start at angle}{\pgf at ya}}%
+ \pgfpatharc{\tikzext at heatmark@start at angle}{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at ya}%
+ \pgfpathlineto{\pgfpointpolar{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at yb}}%
+ \pgfpatharc{\tikzext at heatmark@start at angle+\pgf at tempb}{\tikzext at heatmark@start at angle}{\pgf at yb}%
+ \pgfpathclose
+ \pgfusepathqfill
+ \endgroup
+ \advance\pgfutil at tempcntb\@ne
+ \ifnum\pgfutil at tempcntb<\c at pgf@countb
+ \pgfutil at repeat
+ }%
+ \endgroup
+ \advance\pgfutil at tempcnta\@ne
+ \ifnum\pgfutil at tempcnta<\c at pgf@counta
+ \pgf at ya\pgf at yb
+ \pgfmathsetmacro\pgf at tempd{\pgf at tempd-\tikzext at heatmark@opacity at seps}%
+ \pgfutil at repeat
+ \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
+ }
+}
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,318 @@
+\pgfset{
+ rectangle with rounded corners north west radius/.initial=.5\pgflinewidth,
+ rectangle with rounded corners north east radius/.initial=.5\pgflinewidth,
+ rectangle with rounded corners south west radius/.initial=.5\pgflinewidth,
+ rectangle with rounded corners south east radius/.initial=.5\pgflinewidth,
+ rectangle with rounded corners radius/.style={
+ /pgf/rectangle with rounded corners north west radius={#1},
+ /pgf/rectangle with rounded corners north east radius={#1},
+ /pgf/rectangle with rounded corners south west radius={#1},
+ /pgf/rectangle with rounded corners south east radius={#1}}
+}%
+\pgfdeclareshape{rectangle with rounded corners}{%
+ \savedmacro\rectanglewithroundedcornersparameter{%
+ %
+ % width = max(text width + 2 * inner xseps, minimum width) + 2 * outer xseps
+ \pgf at x=\wd\pgfnodeparttextbox
+ \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+ \advance\pgf at x by 2\pgf at xc
+ \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/minimum width}}%
+ \ifdim\pgf at x<\pgf at xc
+ \pgf at x=\pgf at xc
+ \fi
+ %
+ \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/outer xsep}}%
+ \edef\outerxsep{\the\pgf at xc}%
+ \addtosavedmacro\outerxsep
+ \advance\pgf at x by 2\pgf at xc
+ \pgf at x=.5\pgf at x
+ \edef\halfwidth{\the\pgf at x}%
+ \addtosavedmacro\halfwidth
+ %
+ % height = max(text height + text depth + 2 * inner yseps, minimum height) + 2 * outer yseps
+ \pgf at y=\ht\pgfnodeparttextbox
+ \advance\pgf at y by \dp\pgfnodeparttextbox
+ \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+ \advance\pgf at y by 2\pgf at yc
+ \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/minimum height}}%
+ \ifdim\pgf at y<\pgf at yc
+ \pgf at y=\pgf at yc
+ \fi
+ %
+ \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/outer ysep}}%
+ \edef\outerysep{\the\pgf at yc}%
+ \addtosavedmacro\outerysep
+ \advance\pgf at y by 2\pgf at yc
+ \pgf at y=.5\pgf at y
+ \edef\halfheight{\the\pgf at y}%
+ \addtosavedmacro\halfheight
+ %
+ % \centerpoint
+ \pgf at x=.5\wd\pgfnodeparttextbox
+ \pgf at y=.5\ht\pgfnodeparttextbox
+ \advance\pgf at y by -.5\dp\pgfnodeparttextbox
+ \pgfextract at process\centerpoint{}%
+ \addtosavedmacro\centerpoint
+ %
+ \pgfmathsetlengthmacro\northwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north west radius}}
+ \pgfmathsetlengthmacro\northeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north east radius}}
+ \pgfmathsetlengthmacro\southwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south west radius}}
+ \pgfmathsetlengthmacro\southeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south east radius}}
+ \addtosavedmacro\northwestradius
+ \addtosavedmacro\northeastradius
+ \addtosavedmacro\southwestradius
+ \addtosavedmacro\southeastradius
+ }%
+ \anchor{center}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ }
+ \anchor{west}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \advance\pgf at x by -\halfwidth
+ }
+ \anchor{east}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \advance\pgf at x by \halfwidth
+ }
+ \anchor{north}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \advance\pgf at y by \halfheight
+ }
+ \anchor{south}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \advance\pgf at y by -\halfheight
+ }
+ \anchor{mid}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \pgfmathsetlength\pgf at y{+.5ex}%
+ }
+ \anchor{mid west}{%
+ \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+ \pgfmathsetlength\pgf at y{+.5ex}%
+ }
+ \anchor{mid east}{%
+ \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+ \pgfmathsetlength\pgf at y{+.5ex}%
+ }
+ \anchor{base}{%
+ \rectanglewithroundedcornersparameter
+ \centerpoint
+ \pgf at y=0pt
+ }
+ \anchor{base west}{%
+ \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+ \pgf at y=0pt
+ }
+ \anchor{base east}{%
+ \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+ \pgf at y=0pt
+ }
+ \anchor{north west}{%
+ \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+ \ifdim\northwestradius=0pt
+ \else
+ \pgf at process{\pgfpointadd{}{\pgfpointpolar{135}{\northwestradius+\outerxsep and \northwestradius+\outerysep}}}%
+ \fi
+ }
+ \anchor{north west center}{%
+ \rectanglewithroundedcornersparameter
+ \pgf at x=-\halfwidth
+ \pgf at y=\halfheight
+ \ifdim\northwestradius=0pt
+ \else
+ \advance\pgf at x by \outerxsep
+ \advance\pgf at x by \northwestradius
+ \advance\pgf at y by -\outerysep
+ \advance\pgf at y by -\northwestradius
+ \fi
+ \pgf at process{\pgfpointadd{}{\centerpoint}}%
+ }
+ \anchor{north east}{%
+ \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+ \ifdim\northeastradius=0pt
+ \else
+ \pgf at process{\pgfpointadd{}{\pgfpointpolar{45}{\northeastradius+\outerxsep and \northeastradius+\outerysep}}}%
+ \fi
+ }
+ \anchor{north east center}{%
+ \rectanglewithroundedcornersparameter
+ \pgf at x=\halfwidth
+ \pgf at y=\halfheight
+ \ifdim\northeastradius=0pt
+ \else
+ \advance\pgf at x by -\outerxsep
+ \advance\pgf at x by -\northeastradius
+ \advance\pgf at y by -\outerysep
+ \advance\pgf at y by -\northeastradius
+ \fi
+ \pgf at process{\pgfpointadd{}{\centerpoint}}%
+ }
+ \anchor{south west}{%
+ \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+ \ifdim\southwestradius=0pt
+ \else
+ \pgf at process{\pgfpointadd{}{\pgfpointpolar{225}{\southwestradius+\outerxsep and \southwestradius+\outerysep}}}%
+ \fi
+ }
+ \anchor{south west center}{%
+ \rectanglewithroundedcornersparameter
+ \pgf at x=-\halfwidth
+ \pgf at y=-\halfheight
+ \ifdim\southwestradius=0pt
+ \else
+ \advance\pgf at x by \outerxsep
+ \advance\pgf at x by \southwestradius
+ \advance\pgf at y by \outerysep
+ \advance\pgf at y by \southwestradius
+ \fi
+ \pgf at process{\pgfpointadd{}{\centerpoint}}%
+ }
+ \anchor{south east}{%
+ \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+ \ifdim\southeastradius=0pt
+ \else
+ \pgf at process{\pgfpointadd{}{\pgfpointpolar{315}{\southeastradius+\outerxsep and \southeastradius+\outerysep}}}%
+ \fi
+ }
+ \anchor{south east center}{%
+ \rectanglewithroundedcornersparameter
+ \pgf at x=\halfwidth
+ \pgf at y=-\halfheight
+ \ifdim\southeastradius=0pt
+ \else
+ \advance\pgf at x by -\outerxsep
+ \advance\pgf at x by -\southeastradius
+ \advance\pgf at y by \outerysep
+ \advance\pgf at y by \southeastradius
+ \fi
+ \pgf at process{\pgfpointadd{}{\centerpoint}}%
+ }
+ \anchor{below north west}{%
+ \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+ \advance\pgf at x by -\northwestradius
+ \advance\pgf at x by -\outerxsep
+ }
+ \anchor{above south west}{%
+ \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+ \advance\pgf at x by -\southwestradius
+ \advance\pgf at x by -\outerxsep
+ }
+ \anchor{below north east}{%
+ \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+ \advance\pgf at x by \northeastradius
+ \advance\pgf at x by \outerxsep
+ }
+ \anchor{above south east}{%
+ \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+ \advance\pgf at x by \southeastradius
+ \advance\pgf at x by \outerxsep
+ }
+ \anchor{right north west}{%
+ \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+ \advance\pgf at y by \northwestradius
+ \advance\pgf at y by \outerysep
+ }
+ \anchor{right south west}{%
+ \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+ \advance\pgf at y by -\southwestradius
+ \advance\pgf at y by -\outerysep
+ }
+ \anchor{left north east}{%
+ \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+ \advance\pgf at y by \northeastradius
+ \advance\pgf at y by \outerysep
+ }
+ \anchor{left south east}{%
+ \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+ \advance\pgf at y by -\southeastradius
+ \advance\pgf at y by -\outerysep
+ }
+ \backgroundpath{%
+ \rectanglewithroundedcornersparameter
+ %
+ \pgf at xa=\halfwidth
+ \advance\pgf at xa by -\outerxsep
+ \edef\HalfWidth{\the\pgf at xa}%
+ %
+ \pgf at ya=\halfheight
+ \advance\pgf at ya by -\outerysep
+ \edef\HalfHeight{\the\pgf at ya}%
+ %
+ \pgftransformshift{\centerpoint}%
+ %
+ \pgfpathmoveto{\pgfqpoint{\HalfWidth}{0pt}}%
+ \pgfpathlineto{\pgfpoint {+\HalfWidth}{\HalfHeight-\northeastradius}}%
+ \pgfpatharc{0}{90}{\northeastradius}%
+ \pgfpathlineto{\pgfpoint{-\HalfWidth+\northwestradius}{+\HalfHeight}}
+ \pgfpatharc{90}{180}{\northwestradius}%
+ \pgfpathlineto{\pgfpoint{+-\HalfWidth}{-\HalfHeight+\southwestradius}}%
+ \pgfpatharc{180}{270}{\southwestradius}%
+ \pgfpathlineto{\pgfpoint{\HalfWidth-\southeastradius}{+-\HalfHeight}}%
+ \pgfpatharc{270}{360}{\southeastradius}%
+ \pgfpathclose
+ \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
+ }%
+ \anchorborder{%
+ \pgfextract at process\externalpoint{}%
+ \ifdim\pgf at x=0pt
+ \ifdim\pgf at y<0pt
+ \csname pgf at anchor@rectangle with rounded corners at south\endcsname
+ \else
+ \csname pgf at anchor@rectangle with rounded corners at north\endcsname
+ \fi
+ \else
+ \ifdim\pgf at y=0pt
+ \ifdim\pgf at x<0pt
+ \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+ \else
+ \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+ \fi
+ \else
+ \rectanglewithroundedcornersparameter
+ \pgfmathanglebetweenpoints{\pgfpointorigin}{\externalpoint}%
+ \let\angle\pgfmathresult
+ \pgf at xa=\pgf at x
+ \pgf at ya=\pgf at y
+ \pgfextract at process\externalPoint{\pgfpointadd{}{\centerpoint}}%
+ \ifdim\pgf at xa<0pt
+ \ifdim\pgf at ya<0pt
+ % south west
+ \pgf at sh@rwrc at anchorborder{above south west}{right south west}{south west}{180}{270}{\southwestradius}%
+ \else
+ % north west
+ \pgf at sh@rwrc at anchorborder{right north west}{below north west}{north west}{90}{180}{\northwestradius}%
+ \fi
+ \else
+ \ifdim\pgf at ya<0pt
+ % south east
+ \pgf at sh@rwrc at anchorborder{left south east}{above south east}{south east}{270}{360}{\southeastradius}%
+ \else
+ % north east
+ \pgf at sh@rwrc at anchorborder{below north east}{left north east}{north east}{0}{90}{\northeastradius}%
+ \fi
+ \fi
+ \fi
+ \fi
+ }
+}
+\def\pgf at sh@rwrc at anchorborder#1#2#3#4#5#6{%
+ \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#1\endcsname}%
+ \let\angleA\pgfmathresult
+ \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#2\endcsname}%
+ \let\angleB\pgfmathresult
+ \if\ifdim\angle pt>\angleA pt 0\else1\fi\ifdim\angle pt<\angleB pt 0\else 2\fi
+ \pgfmathpointintersectionoflineandarc{\externalPoint}{\centerpoint}
+ {\csname pgf at anchor@rectangle with rounded corners@#3 center\endcsname}
+ {#4}{#5}{#6+\outerxsep and #6+\outerysep}%
+ \else
+ \pgf at process{\pgfpointadd{\pgfpointborderrectangle{\externalpoint}{\pgfqpoint{\halfwidth}{\halfheight}}}{\centerpoint}}%
+ \fi
+}
+
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,198 @@
+% 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.
+%
+\usepgflibrary{shapes.geometric,intersections}
+\pgfset{
+ superellipse x exponent/.initial=2.5,
+ superellipse y exponent/.initial=2.5,
+ superellipse step/.initial=4,
+ superellipse exponent/.style={/pgf/superellipse x exponent={#1},/pgf/superellipse y exponent={#1}}}
+
+% Evaluates the x-value of a superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/m (x-exp)
+% #3 = a (x-rad)
+\pgfmathdeclarefunction{superellipsex}{3}{%
+ \pgfmathcos@{#1}%
+ \pgfmathpow@{\pgfmathresult}{#2}%
+ \pgfmathmultiply@{\pgfmathresult}{#3}}
+
+% Evaluates the y-value of a superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/n (y-exp)
+% #3 = a (y-rad)
+\pgfmathdeclarefunction{superellipsey}{3}{%
+ \pgfmathsin@{#1}%
+ \pgfmathpow@{\pgfmathresult}{#2}%
+ \pgfmathmultiply@{\pgfmathresult}{#3}}
+
+% Evaluates the x- and y- value of superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/m (x-exp)
+% #3 = 2/n (y-exp)
+% #4 = a (x-rad)
+% #5 = b (y-rad)
+\def\pgfmathsuperellipseXY#1#2#3#4#5{%
+ \begingroup
+ \pgfmathsuperellipsex@{#1}{#2}{#4}%
+ \let\pgfmath at temp\pgfmathresult
+ \pgfmathsuperellipsey@{#1}{#3}{#5}%
+ \edef\pgfmath at temp{\def\noexpand\pgfmathresultX{\pgfmath at temp}%
+ \def\noexpand\pgfmathresultY{\pgfmathresult}}%
+ \expandafter
+ \endgroup\pgfmath at temp}
+
+\pgfdeclareshape{superellipse}{%
+ \inheritsavedanchors[from=ellipse]
+ \inheritanchor[from=ellipse]{text}\inheritanchor[from=ellipse]{center}
+ \inheritanchor[from=ellipse]{mid}\inheritanchor[from=ellipse]{base}
+ \inheritanchor[from=ellipse]{north}\inheritanchor[from=ellipse]{south}
+ \inheritanchor[from=ellipse]{west}\inheritanchor[from=ellipse]{east}
+ \inheritanchor[from=ellipse]{mid west}\inheritanchor[from=ellipse]{base west}
+ \inheritanchor[from=ellipse]{mid east}\inheritanchor[from=ellipse]{base east}
+ \anchor{north east}{%
+ \pgf at process{\radius}%
+ \pgfmathpow@{.70710678118}{\xexponent}%
+ \pgf at x=\pgfmathresult\pgf at x
+ \pgfmathpow@{.70710678118}{\yexponent}%
+ \pgf at y=\pgfmathresult\pgf at y
+ \pgfpointadd{}{\centerpoint}%
+ }
+ \anchor{north west}{%
+ \pgf at process{\radius}%
+ \pgfmathpow@{.70710678118}{\xexponent}%
+ \pgf at x=-\pgfmathresult\pgf at x
+ \pgfmathpow@{.70710678118}{\yexponent}%
+ \pgf at y=\pgfmathresult\pgf at y
+ \pgfpointadd{}{\centerpoint}%
+ }
+ \anchor{south west}{%
+ \pgf at process{\radius}%
+ \pgfmathpow@{.70710678118}{\xexponent}%
+ \pgf at x=-\pgfmathresult\pgf at x
+ \pgfmathpow@{.70710678118}{\yexponent}%
+ \pgf at y=-\pgfmathresult\pgf at y
+ \pgfpointadd{}{\centerpoint}%
+ }
+ \anchor{south east}{%
+ \pgf at process{\radius}%
+ \pgfmathpow@{.70710678118}{\xexponent}%
+ \pgf at x=\pgfmathresult\pgf at x
+ \pgfmathpow@{.70710678118}{\yexponent}%
+ \pgf at y=-\pgfmathresult\pgf at y
+ \pgfpointadd{}{\centerpoint}%
+ }
+ \savedmacro\xexponent{%
+ \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse x exponent}}%
+ \pgfmathmultiply@{\pgfmathresult}{2}%
+ \let\xexponent\pgfmathresult
+ }
+ \savedmacro\yexponent{%
+ \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse y exponent}}%
+ \pgfmathmultiply@{\pgfmathresult}{2}%
+ \let\yexponent\pgfmathresult
+ }
+ \savedmacro\step{%
+ \pgfmathtruncatemacro\step{\pgfkeysvalueof{/pgf/superellipse step}}%
+ }
+ \backgroundpath{%
+ \pgf at process{\radius}%
+ \pgfmathsetmacro\xradius{\pgf at x-(\pgfkeysvalueof{/pgf/outer xsep})}%
+ \pgfmathsetmacro\yradius{\pgf at y-(\pgfkeysvalueof{/pgf/outer ysep})}%
+ \let\pgf at tempa\pgfutil at empty\let\pgf at tempb\pgfutil at empty
+ \let\pgf at tempc\pgfutil at empty\let\pgf at tempd\pgfutil at empty
+ \c at pgf@counta=\step
+ \pgfutil at loop
+ \ifnum\c at pgf@counta<90
+ \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
+ \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+ \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
+ \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+ \pgfutil at prefix@macrotomacro\pgf at tempb\pgf at temp
+ \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
+ \pgfutil at append@macrotomacro\pgf at tempc\pgf at temp
+ \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
+ \pgfutil at prefix@macrotomacro\pgf at tempd\pgf at temp
+ \advance\c at pgf@counta by\step
+ \pgfutil at repeat
+ \pgftransformshift{\centerpoint}%
+ \pgfplothandlerclosedcurve
+ \pgfplotstreamstart
+ \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
+ \pgf at tempa
+ \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
+ \pgf at tempb
+ \pgfplotstreampoint{\pgfqpoint{-\xradius pt}{0pt}}% west
+ \pgf at tempc
+ \pgfplotstreampoint{\pgfqpoint{0pt}{-\yradius pt}}% south
+ \pgf at tempd
+ \pgfplotstreamend
+ \pgftransformshift{\centerpoint\pgf at x=-\pgf at x\pgf at y=-\pgf at y}
+ }
+ \anchorborder{%
+ \pgfextract at process\externalpoint{}%
+ \ifdim\pgf at x=0pt % catch special case x = 0
+ \ifdim\pgf at y<0pt \pgf at anchor@superellipse at south\else\pgf at anchor@superellipse at north\fi
+ \else
+ \ifdim\pgf at y=0pt % catch special case y = 0
+ \ifdim\pgf at x<0pt \pgf at anchor@superellipse at west\else\pgf at anchor@superellipse at east\fi
+ \else % both are not zero
+ % save original direction
+ \pgf at xa=\pgf at x
+ \pgf at ya=\pgf at y
+ % make both positive, we're not looking at one quadrant
+ \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
+ \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
+ % save that point again
+ \pgfextract at process\externalpoint{}%
+ % we need to do the calculations without any transformations
+ % since we're using plots and \pgfpointborderrectangle
+ \pgftransformreset
+ \pgfintersectionofpaths{%
+ % from center to point on rectangle that encompasses superellipse
+ \pgf at relevantforpicturesizefalse
+ \pgfpathmoveto{\pgfpointorigin}%
+ \pgfpathlineto{\pgfpointborderrectangle{\externalpoint}{\radius}}%
+ }{%
+ \pgf at relevantforpicturesizefalse
+ \pgf at process{\radius}
+ \edef\xradius{\pgf at sys@tonumber\pgf at x}%
+ \edef\yradius{\pgf at sys@tonumber\pgf at y}%
+ \let\pgf at tempa\pgfutil at empty
+ \c at pgf@counta=\step
+ \pgfutil at loop
+ \ifnum\c at pgf@counta<90
+ \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
+ \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+ \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
+ \advance\c at pgf@counta by\step
+ \pgfutil at repeat
+ % we're only using curveto since closedcurve
+ % messes with our other path
+ \pgfplothandlercurveto
+ \pgfplotstreamstart
+ \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
+ \pgf at tempa
+ \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
+ \pgfplotstreamend
+ }%
+ \ifnum\pgfintersectionsolutions>0 % only if a solution was found
+ \pgf at process{\pgfpointintersectionsolution{1}}%
+ \else % otherwise take the border on the rectangle (close enough?)
+ \pgf at process{\pgfpointborderrectangle{\externalpoint}{\radius}}%
+ \fi
+ \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
+ \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
+ \pgf at process{\pgfpointadd{}{\centerpoint}}%
+ \fi
+ \fi
+ }
+}
+\def\pgfutil at prefix@macrotomacro#1#2{%
+ \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter%
+ #1\expandafter\expandafter\expandafter{\expandafter#2#1}}
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -48,7 +48,7 @@
% Overwriting original \tikz at lib@cal at if@else at code
%
\def\tikz at lib@cal at if@else at code#1#2#3{%
- \tikzcalendar at addto\tikz at lib@cal at ifs{\ifdate{#1}{#2}{#3}}%
+ \pgfutil at addto@macro\tikz at lib@cal at ifs{\ifdate{#1}{#2}{#3}}%
\tikz at lib@cal at scanner%
}
@@ -62,7 +62,7 @@
\tikz at before@day%
\scope%
\tikz at atbegin@day%
- \let\tikzcalendar at addto\pgfutil at secondoftwo
+ \let\pgfutil at addto@macro\pgfutil at secondoftwo
\tikz at lib@cal at ifs%
\tikzdaycode%
\tikz at atend@day%
@@ -72,7 +72,7 @@
\endgroup%
}
-\def\tikzcalendar at addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+\def\pgfutil at addto@macro#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
\pgfmathdeclarefunction{weeksinmonthofyear}{3}{% #1 = first weekday, #2 = month, #3 = year
\begingroup
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -39,28 +39,28 @@
%% this allows to use \foreach[use int={start to end step delta}] without(!) a list in {}
%% the values start, end and delta are evaluated by PGFmath at the start of the loop.
%% In addition to use int, there's also use float.
-\newif\ifqrr at pgf@foreach at no@list
+\newif\iftikzext at pgf@foreach at no@list
\pgfqkeys{/pgf/foreach}{
use int/.code={%
- \qrr at pgf@foreach at no@list at parse@to\pgfmathtruncatemacro#1\pgffor at stop
+ \tikzext at pgf@foreach at no@list at parse@to\pgfmathtruncatemacro#1\pgffor at stop
},
use float/.code={%
- \qrr at pgf@foreach at no@list at parse@to\pgfmathsetmacro#1\pgffor at stop
+ \tikzext at pgf@foreach at no@list at parse@to\pgfmathsetmacro#1\pgffor at stop
}
}
-\def\qrr at pgf@foreach at no@list at parse@to#1#2to#3\pgffor at stop{%
- \qrr at pgf@foreach at no@listtrue
+\def\tikzext at pgf@foreach at no@list at parse@to#1#2to#3\pgffor at stop{%
+ \tikzext at pgf@foreach at no@listtrue
#1\foreachStart{#2}%
\pgfutil at in@{step}{#3}
\ifpgfutil at in@
- \qrr at pgf@foreach at no@list at parse@step{#1}#3\pgffor at stop
+ \tikzext at pgf@foreach at no@list at parse@step{#1}#3\pgffor at stop
\else
- \qrr at pgf@foreach at no@list at parse@step{#1}#3step1\pgffor at stop
+ \tikzext at pgf@foreach at no@list at parse@step{#1}#3step1\pgffor at stop
\fi
- \edef\qrr at pgf@foreach at no@list at list{\foreachStart,\foreachSecond,...,\foreachEnd}%
+ \edef\tikzext at pgf@foreach at no@list at list{\foreachStart,\foreachSecond,...,\foreachEnd}%
}
-\def\qrr at pgf@foreach at no@list at parse@step#1#2step#3\pgffor at stop{%
+\def\tikzext at pgf@foreach at no@list at parse@step#1#2step#3\pgffor at stop{%
#1\foreachEnd{#2}%
#1\foreachSecond{\foreachStart+#3}%
}
@@ -68,9 +68,9 @@
\pgfutil at ifnextchar i{\pgffor@@vars at end}{%
\pgfutil at ifnextchar[{\pgffor@@vars at opt}{%]
\pgfutil at ifnextchar/{\pgffor@@vars at slash@gobble}{%
- \ifqrr at pgf@foreach at no@list\expandafter\pgfutil at firstoftwo\else
+ \iftikzext at pgf@foreach at no@list\expandafter\pgfutil at firstoftwo\else
\expandafter\pgfutil at secondoftwo\fi
- {\qrr at pgf@foreach at no@listfalse\pgffor at macro@list\qrr at pgf@foreach at no@list at list}
+ {\tikzext at pgf@foreach at no@listfalse\pgffor at macro@list\tikzext at pgf@foreach at no@list at list}
{\pgffor@@vars}}}}}%
%% Handlers
@@ -198,7 +198,7 @@
\else
\expandafter\pgfutil at secondoftwo
\fi
- {\qrr at misc@handle at else#2\pgf at stop}{\qrr at misc@handle at else#2else\pgf at stop}%
+ {\tikzext at misc@handle at else#2\pgf at stop}{\tikzext at misc@handle at else#2else\pgf at stop}%
},
TeX/if/.code n args={4}{%
\if#1#2\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
@@ -222,7 +222,7 @@
},
tex/.search also=/utils/TeX,
}
-\def\qrr at misc@handle at else#1else#2\pgf at stop{%
+\def\tikzext at misc@handle at else#1else#2\pgf at stop{%
\ifdim\pgfmathresult pt=0pt
\expandafter\pgfutil at firstoftwo
\else
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -6,20 +6,22 @@
% 2. under the GNU Free Documentation License.
%
-\def\tikz at nf@align at left#1{}
-\def\tikz at nf@align at center#1{\kern.5#1}
-\def\tikz at nf@align at right#1{\kern#1}
+\def\tikzext at nf@align at left#1{}
+\def\tikzext at nf@align at center#1{\kern.5#1}
+\def\tikzext at nf@align at right#1{\kern#1}
\pgfqkeys{/tikz/node family}{
width/.initial=,
+ width/.append style={/pgf/minimum width=nf_width},
height/.initial=,
- size/.style=\pgfqkeys{/tikz/node family}{width={#1},height={#1}},
+ height/.append style={/pgf/minimum height=nf_height},
+ size/.code=\pgfqkeys{/tikz/node family}{width={#1},height={#1}},
text depth/.initial=,
text height/.initial=,
text width align/.is choice,
- text width align/left/.code=\let\tikz at nf@align at action\tikz at nf@align at left,
- text width align/center/.code=\let\tikz at nf@align at action\tikz at nf@align at center,
- text width align/right/.code=\let\tikz at nf@align at action\tikz at nf@align at right,
+ text width align/left/.code=\let\tikzext at nf@align at action\tikzext at nf@align at left,
+ text width align/center/.code=\let\tikzext at nf@align at action\tikzext at nf@align at center,
+ text width align/right/.code=\let\tikzext at nf@align at action\tikzext at nf@align at right,
text width align=center,
text width/.initial=,
text/.code=\pgfqkeys{/tikz/node family}{text depth={#1},text height={#1},text width={#1}},
@@ -28,40 +30,39 @@
\tikzset{node family/.code=\pgfqkeys{/tikz/node family}{#1}}
% #1 = family type + name
-\def\tikz at nf@save#1{%
+\def\tikzext at nf@save#1{%
%\errmessage{#1}%
\immediate\write\pgfutil at auxout{%
- \noexpand\expandafter\noexpand\gdef\noexpand\csname tikz at nf@#1 at previous\endcsname
- {\csname tikz at nf@#1 at next\endcsname}%
+ \noexpand\expandafter\noexpand\gdef\noexpand\csname tikzext at nf@#1 at previous\endcsname
+ {\csname tikzext at nf@#1 at next\endcsname}%
}%
- %\expandafter\global\expandafter\let\csname tikz at nf@#1 at next\endcsname\relax
}
% #1 = value to set
% #2 = family type
% #3 = return dimen
-\def\tikz at nf@getandset#1#2#3{%
+\def\tikzext at nf@getandset#1#2#3{%
% what's our family's name?
#3=0pt\relax
- \pgfkeysgetvalue{/tikz/node family/#2}\tikz at nf@familyname
- \pgfutil at ifxempty\tikz at nf@familyname{% no family to deal with
+ \pgfkeysgetvalue{/tikz/node family/#2}\tikzext at nf@familyname
+ \pgfutil at ifxempty\tikzext at nf@familyname{% no family to deal with
}{%
- \edef\tikz at nf@familyname{\pgfkeysvalueof{/tikz/node family/prefix}\tikz at nf@familyname}%
+ \edef\tikzext at nf@familyname{\pgfkeysvalueof{/tikz/node family/prefix}\tikzext at nf@familyname}%
% we need to save the value for the next run
- \pgfutil at IfUndefined{tikz at nf@#2@\tikz at nf@familyname @next}{%
+ \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @next}{%
% first time: define first value and install hook at end of picture
- \expandafter\xdef\csname tikz at nf@#2@\tikz at nf@familyname @next\endcsname{#1}%
- \edef\tikz at temp{\noexpand\tikz at nf@save{#2@\tikz at nf@familyname}}%
+ \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
+ \edef\tikz at temp{\noexpand\tikzext at nf@save{#2@\tikzext at nf@familyname}}%
%\expandafter\AtVeryEndDocument\expandafter{\tikz at temp}%
\expandafter\pgfutil at g@addto at macro\expandafter\tikz at atend@picture\expandafter{\tikz at temp}%
}{%
- \ifdim\csname tikz at nf@#2@\tikz at nf@familyname @next\endcsname<#1\relax
- \expandafter\xdef\csname tikz at nf@#2@\tikz at nf@familyname @next\endcsname{#1}%
+ \ifdim\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname<#1\relax
+ \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
\fi
}%
- \pgfutil at IfUndefined{tikz at nf@#2@\tikz at nf@familyname @previous}{% first run, ignore
+ \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @previous}{% first run, ignore
}{% set previous value
- #3=\csname tikz at nf@#2@\tikz at nf@familyname @previous\endcsname\relax
+ #3=\csname tikzext at nf@#2@\tikzext at nf@familyname @previous\endcsname\relax
}%
}%
}
@@ -75,7 +76,7 @@
\pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
\advance\pgf at x by 2\pgf at xc%
% Qrr: family width
- \tikz at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
\ifdim\pgf at x<\pgfutil at tempdima
\pgf at x=\pgfutil at tempdima
\fi
@@ -98,9 +99,9 @@
\pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
\advance\pgf at y by 2\pgf at yc%
% Qrr: family height
- \tikz at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
\ifdim\pgf at y<\pgfutil at tempdima
- \pgf at y=\pgfutil at tempa
+ \pgf at y=\pgfutil at tempdima
\fi
%
\pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
@@ -116,7 +117,7 @@
\advance\pgf at y by\pgf at ya%
}%
-\savedanchor\southwest{%
+ \savedanchor\southwest{%
% Calculate x
%
% First, is width < minimum width?
@@ -124,7 +125,7 @@
\pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
\advance\pgf at x by 2\pgf at xc%
% Qrr: family width
- \tikz at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
\ifdim\pgf at x<\pgfutil at tempdima
\pgf at x=\pgfutil at tempdima
\fi
@@ -147,7 +148,7 @@
\pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
\advance\pgf at y by 2\pgf at yc%
% Qrr: family height
- \tikz at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
\ifdim\pgf at y<\pgfutil at tempdima
\pgf at y=\pgfutil at tempdima
\fi
@@ -226,8 +227,8 @@
\fi
\pgf at x=\pgf at xa%
% Qrr: check for families
- \tikz at nf@getandset{\the\dimexpr2\pgf at x\relax}{width}{\pgfutil at tempdima}%
- \tikz at nf@getandset{\the\dimexpr2\pgf at x\relax}{height}{\pgfutil at tempdimb}%
+ \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{width}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{height}{\pgfutil at tempdimb}%
% Qrr: and adjust like minimum width and minimum height
\ifdim\pgf at x<.5\pgfutil at tempdima
\pgf at x=.5\pgfutil at tempdima
@@ -285,17 +286,17 @@
\pgfqkeys{/tikz/node family}{
setup shape/.code={%
\expandafter\pgfutil at prefixto@macro\csname pgf at sh@s@#1\endcsname{%
- \tikz at nf@getandset{\the\wd\pgfnodeparttextbox}{text width}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\wd\pgfnodeparttextbox}{text width}{\pgfutil at tempdima}%
\ifdim\wd\pgfnodeparttextbox<\pgfutil at tempdima
\pgfutil at tempdimb=\pgfutil at tempdima
\advance\pgfutil at tempdimb-\wd\pgfnodeparttextbox
- \setbox\pgfnodeparttextbox=\hbox to \pgfutil at tempdima{\tikz at nf@align at action\pgfutil at tempdimb\box\pgfnodeparttextbox}%
+ \setbox\pgfnodeparttextbox=\hbox to \pgfutil at tempdima{\tikzext at nf@align at action\pgfutil at tempdimb\box\pgfnodeparttextbox}%
\fi
- \tikz at nf@getandset{\the\dp\pgfnodeparttextbox}{text depth}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\dp\pgfnodeparttextbox}{text depth}{\pgfutil at tempdima}%
\ifdim\dp\pgfnodeparttextbox<\pgfutil at tempdima
\dp\pgfnodeparttextbox=\pgfutil at tempdima
\fi
- \tikz at nf@getandset{\the\ht\pgfnodeparttextbox}{text height}{\pgfutil at tempdima}%
+ \tikzext at nf@getandset{\the\ht\pgfnodeparttextbox}{text height}{\pgfutil at tempdima}%
\ifdim\ht\pgfnodeparttextbox<\pgfutil at tempdima
\ht\pgfnodeparttextbox=\pgfutil at tempdima
\fi
@@ -303,3 +304,36 @@
},
setup shape/.list={rectangle,circle,Rectangle,Circle}
}
+
+%% nf functions
+\def\tikzext at nf@function at default{{\the\pgf at x}{\the\pgf at y}}
+\def\tikzext at nf@function at default@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at y\relax}}
+\def\tikzext at nf@function at circle{{\the\pgf at x}{\the\pgf at x}}
+\def\tikzext at nf@function at circle@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at x\relax}}
+
+\pgfmathdeclarefunction{nf_width}{0}{%
+ \begingroup
+ \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
+ \let\tikzext at nf@function\tikzext at nf@function at default
+ }{%
+ \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
+ \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
+ }%
+ \tikzext at nf@getandset{\expandafter\pgfutil at firstoftwo\tikzext at nf@function}{width}{\pgfutil at tempdima}%
+ \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
+ \pgfmath at smuggleone\pgfmathresult
+ \endgroup
+}
+\pgfmathdeclarefunction{nf_height}{0}{%
+ \begingroup
+ \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
+ \let\tikzext at nf@function\tikzext at nf@function at default
+ }{%
+ \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
+ \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
+ }%
+ \tikzext at nf@getandset{\expandafter\pgfutil at secondoftwo\tikzext at nf@function}{height}{\pgfutil at tempdima}%
+ \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
+ \pgfmath at smuggleone\pgfmathresult
+ \endgroup
+}
\ No newline at end of file
Added: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -0,0 +1,38 @@
+% 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.
+%
+
+\usetikzlibrary{ext.node-families,shapes.geometric}
+
+\let\tikzext at nf@function at ellipse \tikzext at nf@function at default@double
+\let\tikzext at nf@function at star \tikzext at nf@function at circle
+\let\tikzext at nf@function at diamond \tikzext at nf@function at default@double
+\let\tikzext at nf@function at star \tikzext at nf@function at circle@double
+\expandafter\let\csname tikzext at nf@function at regular polygon\endcsname
+ \tikzext at nf@function at circle@double
+\let\tikzext at nf@function at trapezium\tikzext at nf@function at default@double
+\def\tikzext at nf@function at semicircle {{\the\dimexpr2\pgf at x\relax}{\the\pgf at x}}
+\expandafter\def\csname tikzext at nf@function at isosceles triangle\endcsname
+ {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xa}}
+\def\tikzext at nf@function at kite {{\the\dimexpr2\pgf at xa\relax}{\the\dimexpr\pgf at ya+\pgf at yb\relax}}
+\def\tikzext at nf@function at dart {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xb}}
+\expandafter\def\csname tikzext at nf@function at circular sector\endcsname{{\the\pgf at xc}{\the\pgf at xa}}
+\def\tikzext at nf@function at cylinder{{\the\dimexpr2\pgfutil at tempdimb\relax}{\the\pgf at x}}
+
+\tikzset{node family/setup shape/.list={
+ ellipse,
+ star,
+ diamond,
+ regular polygon,
+ trapezium,
+ semicircle,
+ isosceles triangle,
+ kite,
+ dart,
+ circular sector,
+ cylinder
+}}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -8,12 +8,12 @@
%% For the operators r-lr, r-rl, r-ud and r-du we need to check after TikZ found r
\let\tikz at orig@rect\tikz at rect
-\def\tikz at rect{\pgfutil at ifnextchar e\tikz at orig@rect\qrr at tikz@r}
-\def\qrr at tikz@r -{%
- \pgfutil at ifnextchar l\qrr at tikz@lr at lineto{%
- \pgfutil at ifnextchar r\qrr at tikz@rl at lineto{%
- \pgfutil at ifnextchar u\qrr at tikz@ud at lineto{%
- \pgfutil at ifnextchar d\qrr at tikz@du at lineto\tikz at expand
+\def\tikz at rect{\pgfutil at ifnextchar e\tikz at orig@rect\tikzext at tikz@r}
+\def\tikzext at tikz@r -{%
+ \pgfutil at ifnextchar l\tikzext at tikz@lr at lineto{%
+ \pgfutil at ifnextchar r\tikzext at tikz@rl at lineto{%
+ \pgfutil at ifnextchar u\tikzext at tikz@ud at lineto{%
+ \pgfutil at ifnextchar d\tikzext at tikz@du at lineto\tikz at expand
}%
}%
}%
@@ -21,34 +21,33 @@
%% For the operator |-| we need to check after TikZ found |-
\let\tikz at orig@vh at lineto@next\tikz at vh@lineto at next
\def\tikz at vh@lineto at next{%
- \pgfutil at ifnextchar|{\expandafter\qrr at tikz@vhv at lineto\pgfutil at gobble}%
- {\pgfutil at ifnextchar\tikz at activebar{\expandafter\qrr at tikz@vhv at lineto\pgfutil at gobble}%
+ \pgfutil at ifnextchar|{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
+ {\pgfutil at ifnextchar\tikz at activebar{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
{\tikz at orig@vh at lineto@next}}}
%% For the operator -|- we need to check after TikZ found -|
\let\tikz at orig@hv at lineto\tikz at hv@lineto
\def\tikz at hv@lineto{%
- \pgfutil at ifnextchar-{\expandafter\qrr at tikz@hvh at lineto\pgfutil at gobble}%
+ \pgfutil at ifnextchar-{\expandafter\tikzext at tikz@hvh at lineto\pgfutil at gobble}%
{\tikz at orig@hv at lineto}}
%% |-|[<opts>] and -|-[<opts>] are allowed
-\def\qrr at tikz@vhv at lineto{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@vhv at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@vhv at lineto@next[]}}
-\def\qrr at tikz@hvh at lineto{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@hvh at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@hvh at lineto@next[]}}
+\def\tikzext at tikz@vhv at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next[]}}
+\def\tikzext at tikz@hvh at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next[]}}
%% r-rl[<opts>], r-lr[<opts>], etc.
-\def\qrr at tikz@rl at lineto rl{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@rl at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@rl at lineto@next[]}}
-\def\qrr at tikz@lr at lineto lr{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@lr at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@lr at lineto@next[]}}
-\def\qrr at tikz@du at lineto du{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@du at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@du at lineto@next[]}}
-\def\qrr at tikz@ud at lineto ud{\pgfutil at ifnextchar[{\qrr at tikz@collect at hvvh@options\qrr at tikz@ud at lineto@next}{\qrr at tikz@collect at hvvh@options\qrr at tikz@ud at lineto@next[]}}
+\def\tikzext at tikz@rl at lineto rl{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next[]}}
+\def\tikzext at tikz@lr at lineto lr{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next[]}}
+\def\tikzext at tikz@du at lineto du{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next[]}}
+\def\tikzext at tikz@ud at lineto ud{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next[]}}
%% TikZ interjects are done, the rest is independent:
-\newlength\qrr at tikz@udlr at distance
-\newlength\qrr at tikz@hvvh at distance
-\newif\ifqrr at tikz@hvvh at middle % checks whether spacing = 0 was selected
-\newif\ifqrr at tikz@hvvh at fromcenter
-\newif\iftikz at ortho@preflush
-\tikz at ortho@preflushtrue
-\let\tikz at origtotarget\pgfutil at empty
+\newlength\tikzext at tikz@udlr at distance
+\newlength\tikzext at tikz@hvvh at distance
+\newif\iftikzext at tikz@hvvh at middle % checks whether spacing = 0 was selected
+\newif\iftikzext at tikz@hvvh at fromcenter
+\newif\iftikzext at ortho@preflush
+\tikzext at ortho@preflushtrue
%%% HVVH/UDLR
\tikzset{%
@@ -57,29 +56,29 @@
hvvh/.search also=/tikz,%
udlr/.search also=/tikz,%
hvvh/middle 0 to 1/.style={hvvh/spacing=0},%
- hvvh/from center/.is if=qrr at tikz@hvvh at fromcenter,%
+ hvvh/from center/.is if=tikzext at tikz@hvvh at fromcenter,%
udlr/from center/.style={/tikz/hvvh/from center={#1}},
hvvh/spacing/.code=% spacing = 0 means that the middle part are the pos-itions 0 to 1,
% the first part is -1 to 0, the last part is to 2
- \pgfmathint{#1}\let\qrr at tikz@hvvh at timing@parts\pgfmathresult% in case they are calculations to be done
- \ifcase\qrr at tikz@hvvh at timing@parts\relax
- \qrr at tikz@hvvh at middletrue
- \def\qrr at tikz@hvvh at timing@parts{1}%
- \def\qrr at tikz@hvvh at timing@first{0}%
- \def\qrr at tikz@hvvh at timing@last{1}%
- \def\qrr at tikz@hvvh at timing@subtr{0}%
- \def\qrr at tikz@hvvh at timing@factor{1}%
+ \pgfmathint{#1}\let\tikzext at tikz@hvvh at timing@parts\pgfmathresult% in case they are calculations to be done
+ \ifcase\tikzext at tikz@hvvh at timing@parts\relax
+ \tikzext at tikz@hvvh at middletrue
+ \def\tikzext at tikz@hvvh at timing@parts{1}%
+ \def\tikzext at tikz@hvvh at timing@first{0}%
+ \def\tikzext at tikz@hvvh at timing@last{1}%
+ \def\tikzext at tikz@hvvh at timing@subtr{0}%
+ \def\tikzext at tikz@hvvh at timing@factor{1}%
\else % in all other cases n > 0 the kinks are at pos = 1/n and (n - 1)/n
- \qrr at tikz@hvvh at middlefalse
- \pgfmathreciprocal{#1}\let\qrr at tikz@hvvh at timing@first\pgfmathresult
- \pgfmathsetmacro\qrr at tikz@hvvh at timing@last{1-\pgfmathresult}%
+ \tikzext at tikz@hvvh at middlefalse
+ \pgfmathreciprocal{#1}\let\tikzext at tikz@hvvh at timing@first\pgfmathresult
+ \pgfmathsetmacro\tikzext at tikz@hvvh at timing@last{1-\pgfmathresult}%
\pgfmathreciprocal{#1-2}%
- \let\qrr at tikz@hvvh at timing@subtr\pgfmathresult
- \pgfmathsetmacro\qrr at tikz@hvvh at timing@factor{1+2*\pgfmathresult}%
+ \let\tikzext at tikz@hvvh at timing@subtr\pgfmathresult
+ \pgfmathsetmacro\tikzext at tikz@hvvh at timing@factor{1+2*\pgfmathresult}%
\fi,%
- hvvh/ratio/.code=\pgfmathsetmacro\qrr at tikz@hvvh at ratio{#1},%
+ hvvh/ratio/.code=\pgfmathsetmacro\tikzext at tikz@hvvh at ratio{#1},%
% TODO: not possible to do distance in TikZ coordinate system
- hvvh/distance/.code=\pgfmathsetlength\qrr at tikz@hvvh at distance{#1}\let\qrr at tikz@hvvh at ratio\pgfutil at empty,%
+ hvvh/distance/.code=\pgfmathsetlength\tikzext at tikz@hvvh at distance{#1}\let\tikzext at tikz@hvvh at ratio\pgfutil at empty,%
udlr/distance/.style={%
/tikz/udlr/ud distance={#1},%
/tikz/udlr/du distance={#1},%
@@ -98,27 +97,27 @@
\pgf at process{\tikz at timer@start}\pgf at ya\pgf at y
\pgf at process{\tikz at timer@end}\pgf at yc\pgf at y
\pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
- \ifdim\tikz at time pt<\qrr at tikz@hvvh at timing@first pt% first quarter
- \ifqrr at tikz@hvvh at middle
+ \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
+ \iftikzext at tikz@hvvh at middle
\advance\pgf at xb1pt%
\else
- \pgf at xb\qrr at tikz@hvvh at timing@parts\pgf at xb
+ \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
\fi
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}}%
\else
- \ifdim\tikz at time pt>\qrr at tikz@hvvh at timing@last pt% last quarter
- \ifqrr at tikz@hvvh at middle
+ \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
+ \iftikzext at tikz@hvvh at middle
\advance\pgf at xb-1pt%
\else
- \pgf at xb\qrr at tikz@hvvh at timing@parts\pgf at xb
+ \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
\fi
- \advance\pgf at xb\dimexpr-\qrr at tikz@hvvh at timing@parts pt+1pt\relax%
+ \advance\pgf at xb\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at yc}}{\noexpand\tikz at timer@end}}%
\else% middle half
- \pgf at xb\qrr at tikz@hvvh at timing@factor\pgf at xb%
- \advance\pgf at xb-\qrr at tikz@hvvh at timing@subtr pt%
+ \pgf at xb\tikzext at tikz@hvvh at timing@factor\pgf at xb%
+ \advance\pgf at xb-\tikzext at tikz@hvvh at timing@subtr pt%
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}{\noexpand\tikz at timer@middle}}%
\fi\fi\tikz at marshal}
@@ -126,27 +125,27 @@
\pgf at process{\tikz at timer@start}\pgf at xa\pgf at x
\pgf at process{\tikz at timer@end}\pgf at xc\pgf at x
\pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
- \ifdim\tikz at time pt<\qrr at tikz@hvvh at timing@first pt% first quarter
- \ifqrr at tikz@hvvh at middle
+ \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
+ \iftikzext at tikz@hvvh at middle
\advance\pgf at xb1pt%
\else
- \pgf at xb\qrr at tikz@hvvh at timing@parts\pgf at xb
+ \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
\fi
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}}%
\else
- \ifdim\tikz at time pt>\qrr at tikz@hvvh at timing@last pt% last quarter
- \ifqrr at tikz@hvvh at middle
+ \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
+ \iftikzext at tikz@hvvh at middle
\advance\pgf at xb-1pt%
\else
- \pgf at xb\qrr at tikz@hvvh at timing@parts\pgf at xb
+ \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
\fi
- \advance\pgf at xb by\dimexpr-\qrr at tikz@hvvh at timing@parts pt+1pt\relax%
+ \advance\pgf at xb by\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}{\noexpand\tikz at timer@end}}%
\else% middle half
- \pgf at xb=\qrr at tikz@hvvh at timing@factor\pgf at xb
- \advance\pgf at xb by-\qrr at tikz@hvvh at timing@subtr pt%
+ \pgf at xb=\tikzext at tikz@hvvh at timing@factor\pgf at xb
+ \advance\pgf at xb by-\tikzext at tikz@hvvh at timing@subtr pt%
\edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
{\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}{\noexpand\tikz at timer@middle}}%
\fi\fi\tikz at marshal}%
@@ -153,31 +152,31 @@
%% collect options and nodes, coordinates and pics onpath
\let\tikz at hvvh@currentoption\pgfutil at empty
-\def\qrr at tikz@collect at hvvh@options#1[#2]{\edef\tikz at hvvh@currentoption{#2}#1}
-\def\qrr at tikz@hvh at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@hvh at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@hvh at lineto@next}%
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@hvh at lineto@next}{\tikz at scan@one at point\qrr at tikz@@hvh at lineto}}}}%
-\def\qrr at tikz@vhv at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@vhv at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@vhv at lineto@next}%
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@vhv at lineto@next}{\tikz at scan@one at point\qrr at tikz@@vhv at lineto}}}}%
-\def\qrr at tikz@ud at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@ud at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@ud at lineto@next}
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@ud at lineto@next}{\tikz at scan@one at point\qrr at tikz@@ud at lineto}}}}%
-\def\qrr at tikz@du at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@du at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@du at lineto@next}
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@du at lineto@next}{\tikz at scan@one at point\qrr at tikz@@du at lineto}}}}%
-\def\qrr at tikz@lr at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@lr at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@lr at lineto@next}
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@lr at lineto@next}{\tikz at scan@one at point\qrr at tikz@@lr at lineto}}}}%
-\def\qrr at tikz@rl at lineto@next{%
- \pgfutil at ifnextchar n{\tikz at collect@label at onpath\qrr at tikz@rl at lineto@next}
- {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\qrr at tikz@rl at lineto@next}
- {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\qrr at tikz@rl at lineto@next}{\tikz at scan@one at point\qrr at tikz@@rl at lineto}}}}%
+\def\tikzext at tikz@collect at hvvh@options#1[#2]{\edef\tikz at hvvh@currentoption{#2}#1}
+\def\tikzext at tikz@hvh at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@hvh at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@hvh at lineto@next}%
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@hvh at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@hvh at lineto}}}}%
+\def\tikzext at tikz@vhv at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@vhv at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@vhv at lineto@next}%
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@vhv at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@vhv at lineto}}}}%
+\def\tikzext at tikz@ud at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@ud at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@ud at lineto@next}
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@ud at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@ud at lineto}}}}%
+\def\tikzext at tikz@du at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@du at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@du at lineto@next}
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@du at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@du at lineto}}}}%
+\def\tikzext at tikz@lr at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@lr at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@lr at lineto@next}
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@lr at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@lr at lineto}}}}%
+\def\tikzext at tikz@rl at lineto@next{%
+ \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@rl at lineto@next}
+ {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@rl at lineto@next}
+ {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@rl at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@rl at lineto}}}}%
\def\tikz at do@hvvh#1#2#3#4#5{%
% #1 = first kink
@@ -200,7 +199,7 @@
\tikz at scan@next at command}%
%% -|- operator
-\def\qrr at tikz@@hvh at lineto#1{%
+\def\tikzext at tikz@@hvh at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xb=\tikz at lastx
\pgf at xc=\tikz at lastx
@@ -211,12 +210,12 @@
\pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
\iftikz at shapeborder
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at xb}{\tikz at lasty}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc\pgf at xb
\fi
- \pgfutil at ifxempty\qrr at tikz@hvvh at ratio{%
- \ifdim\qrr at tikz@hvvh at distance<0pt\relax
- \ifqrr at tikz@hvvh at fromcenter
+ \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
+ \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc\tikz at lastx
\else
\pgf at xc\pgf at x
@@ -223,39 +222,39 @@
\fi
\fi
\ifdim\pgf at xb>\tikz at lastx
- \qrr at tikz@hvvh at distance-\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
\fi
}{%
- \ifqrr at tikz@hvvh at fromcenter
- \qrr at tikz@hvvh at distance\tikz at lastx
+ \iftikzext at tikz@hvvh at fromcenter
+ \tikzext at tikz@hvvh at distance\tikz at lastx
\else
- \qrr at tikz@hvvh at distance\pgf at x
+ \tikzext at tikz@hvvh at distance\pgf at x
\fi
- \advance\qrr at tikz@hvvh at distance-\pgf at xc
- \qrr at tikz@hvvh at distance\qrr at tikz@hvvh at ratio\qrr at tikz@hvvh at distance
+ \advance\tikzext at tikz@hvvh at distance-\pgf at xc
+ \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
}%
- \advance\pgf at xc\qrr at tikz@hvvh at distance
+ \advance\pgf at xc\tikzext at tikz@hvvh at distance
\edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
\edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
\edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc\pgf at xb
\fi
- \pgfutil at ifxempty\qrr at tikz@hvvh at ratio{%
- \ifdim\qrr at tikz@hvvh at distance<0pt\relax
+ \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
+ \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
\pgf at xc\tikz at lastx
\fi
\ifdim\pgf at xb>\tikz at lastx
- \qrr at tikz@hvvh at distance-\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
\fi
}{%
- \qrr at tikz@hvvh at distance\tikz at lastx
- \advance\qrr at tikz@hvvh at distance-\pgf at xc
- \qrr at tikz@hvvh at distance\qrr at tikz@hvvh at ratio\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance\tikz at lastx
+ \advance\tikzext at tikz@hvvh at distance-\pgf at xc
+ \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
}%
- \advance\pgf at xc\qrr at tikz@hvvh at distance
+ \advance\pgf at xc\tikzext at tikz@hvvh at distance
\edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
\edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
\edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
@@ -270,7 +269,7 @@
\pgf at marshal}%
%% |-| operator
-\def\qrr at tikz@@vhv at lineto#1{%
+\def\tikzext at tikz@@vhv at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xc=\tikz at lastx
\pgf at yb=\tikz at lasty
@@ -281,12 +280,12 @@
\pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
\iftikz at shapeborder
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\tikz at lastx}{\pgf at yb}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc\pgf at yb
\fi
- \ifx\qrr at tikz@hvvh at ratio\pgfutil at empty
- \ifdim\qrr at tikz@hvvh at distance<0pt\relax
- \ifqrr at tikz@hvvh at fromcenter
+ \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
+ \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc\tikz at lasty
\else
\pgf at yc\pgf at y
@@ -293,39 +292,39 @@
\fi
\fi
\ifdim\pgf at yb>\tikz at lasty
- \qrr at tikz@hvvh at distance-\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
\fi
\else
- \ifqrr at tikz@hvvh at fromcenter
- \qrr at tikz@hvvh at distance\tikz at lasty
+ \iftikzext at tikz@hvvh at fromcenter
+ \tikzext at tikz@hvvh at distance\tikz at lasty
\else
- \qrr at tikz@hvvh at distance\pgf at y
+ \tikzext at tikz@hvvh at distance\pgf at y
\fi
- \advance\qrr at tikz@hvvh at distance-\pgf at yc
- \qrr at tikz@hvvh at distance\qrr at tikz@hvvh at ratio\qrr at tikz@hvvh at distance
+ \advance\tikzext at tikz@hvvh at distance-\pgf at yc
+ \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
\fi
- \advance\pgf at yc\qrr at tikz@hvvh at distance
+ \advance\pgf at yc\tikzext at tikz@hvvh at distance
\edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
\edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
\edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc\pgf at yb
\fi
- \ifx\qrr at tikz@hvvh at ratio\pgfutil at empty
- \ifdim\qrr at tikz@hvvh at distance<0pt\relax
+ \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
+ \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
\pgf at yc\tikz at lasty
\fi
\ifdim\pgf at yb>\tikz at lasty
- \qrr at tikz@hvvh at distance-\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
\fi
\else
- \qrr at tikz@hvvh at distance\tikz at lasty
- \advance\qrr at tikz@hvvh at distance-\pgf at yc
- \qrr at tikz@hvvh at distance\qrr at tikz@hvvh at ratio\qrr at tikz@hvvh at distance
+ \tikzext at tikz@hvvh at distance\tikz at lasty
+ \advance\tikzext at tikz@hvvh at distance-\pgf at yc
+ \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
\fi
- \advance\pgf at yc\qrr at tikz@hvvh at distance
+ \advance\pgf at yc\tikzext at tikz@hvvh at distance
\edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
\edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
\edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
@@ -340,7 +339,7 @@
\pgf at marshal}%
%% r-ud operator
-\def\qrr at tikz@@ud at lineto#1{%
+\def\tikzext at tikz@@ud at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xc\tikz at lastx
\pgf at yb\tikz at lasty
@@ -350,11 +349,11 @@
\tikz at make@last at position{#1}%
\begingroup
\pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
- \pgfmathsetlength\qrr at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/ud distance}}%
+ \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/ud distance}}%
\iftikz at shapeborder
\advance\pgf at y1pt%
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc\pgf at yb
\else\ifx\pgf at temp\relax
\pgf at yc\pgf at yb
@@ -361,23 +360,23 @@
\fi
\fi
\ifdim\pgf at yc<\pgf at y
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc=\tikz at lasty
\else
\pgf at yc=\pgf at y
\fi
\fi
- \advance\pgf at yc\qrr at tikz@udlr at distance
+ \advance\pgf at yc\tikzext at tikz@udlr at distance
\edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty
\ifx\pgf at temp\relax\else
- \ifqrr at tikz@hvvh at fromcenter\else
+ \iftikzext at tikz@hvvh at fromcenter\else
\pgf at yb\pgf at yc
\fi
\fi
\ifdim\pgf at yb<\tikz at lasty\pgf at yb\tikz at lasty\fi
- \advance\pgf at yb\qrr at tikz@udlr at distance
+ \advance\pgf at yb\tikzext at tikz@udlr at distance
\pgf at yc\pgf at yb
\edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\fi
@@ -391,7 +390,7 @@
\pgf at marshal}%
%% r-du operator
-\def\qrr at tikz@@du at lineto#1{%
+\def\tikzext at tikz@@du at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xc\tikz at lastx
\pgf at yb\tikz at lasty
@@ -401,11 +400,11 @@
\tikz at make@last at position{#1}%
\begingroup
\pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
- \pgfmathsetlength\qrr at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/du distance}}%
+ \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/du distance}}%
\iftikz at shapeborder
\advance\pgf at y-1pt%
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc\pgf at yb
\else\ifx\pgf at temp\relax
\pgf at yc\pgf at yb
@@ -412,23 +411,23 @@
\fi
\fi
\ifdim\pgf at yc>\pgf at y
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at yc=\tikz at lasty
\else
\pgf at yc=\pgf at y
\fi
\fi
- \advance\pgf at yc-\qrr at tikz@udlr at distance
+ \advance\pgf at yc-\tikzext at tikz@udlr at distance
\edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty
\ifx\pgf at temp\relax\else
- \ifqrr at tikz@hvvh at fromcenter\else
+ \iftikzext at tikz@hvvh at fromcenter\else
\pgf at yb\pgf at yc
\fi
\fi
\ifdim\pgf at yb>\tikz at lasty\pgf at yb\tikz at lasty\fi
- \advance\pgf at yb-\qrr at tikz@udlr at distance
+ \advance\pgf at yb-\tikzext at tikz@udlr at distance
\pgf at yc\pgf at yb
\edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\fi
@@ -442,7 +441,7 @@
\pgf at marshal}%
%% r-lr operator
-\def\qrr at tikz@@lr at lineto#1{%
+\def\tikzext at tikz@@lr at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xb\tikz at lastx
\pgf at yc\tikz at lasty
@@ -452,11 +451,11 @@
\tikz at make@last at position{#1}%
\begingroup
\pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
- \pgfmathsetlength\qrr at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/lr distance}}%
+ \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/lr distance}}%
\iftikz at shapeborder
\advance\pgf at x-1pt%
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc\pgf at xb
\else\ifx\pgf at temp\relax
\pgf at xc\pgf at xb
@@ -463,23 +462,23 @@
\fi
\fi
\ifdim\pgf at xc>\pgf at x
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc=\tikz at lastx
\else
\pgf at xc=\pgf at x
\fi
\fi
- \advance\pgf at xc-\qrr at tikz@udlr at distance
+ \advance\pgf at xc-\tikzext at tikz@udlr at distance
\edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty
\ifx\pgf at temp\relax\else
- \ifqrr at tikz@hvvh at fromcenter\else
+ \iftikzext at tikz@hvvh at fromcenter\else
\pgf at xb\pgf at xc
\fi
\fi
\ifdim\pgf at xb>\tikz at lastx\pgf at xb\tikz at lastx\fi
- \advance\pgf at xb-\qrr at tikz@udlr at distance
+ \advance\pgf at xb-\tikzext at tikz@udlr at distance
\pgf at xc\pgf at xb
\edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\fi
@@ -493,7 +492,7 @@
\pgf at marshal}%
%% r-rl operator
-\def\qrr at tikz@@rl at lineto#1{%
+\def\tikzext at tikz@@rl at lineto#1{%
\edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\pgf at xb\tikz at lastx
\pgf at yc\tikz at lasty
@@ -503,11 +502,11 @@
\tikz at make@last at position{#1}%
\begingroup
\pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
- \pgfmathsetlength\qrr at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/rl distance}}%
+ \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/udlr/rl distance}}%
\iftikz at shapeborder%
\advance\pgf at x1pt%
\pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc\pgf at xb
\else\ifx\pgf at temp\relax
\pgf at xc\pgf at xb
@@ -514,23 +513,23 @@
\fi
\fi
\ifdim\pgf at xc<\pgf at x
- \ifqrr at tikz@hvvh at fromcenter
+ \iftikzext at tikz@hvvh at fromcenter
\pgf at xc=\tikz at lastx
\else
\pgf at xc=\pgf at x
\fi
\fi
- \advance\pgf at xc\qrr at tikz@udlr at distance
+ \advance\pgf at xc\tikzext at tikz@udlr at distance
\edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
\else
\let\tikz at shapeborder@name\pgfutil at empty%
\ifx\pgf at temp\relax\else
- \ifqrr at tikz@hvvh at fromcenter\else
+ \iftikzext at tikz@hvvh at fromcenter\else
\pgf at xb\pgf at xc
\fi
\fi
\ifdim\pgf at xb<\tikz at lastx\pgf at xb\tikz at lastx\fi
- \advance\pgf at xb\qrr at tikz@udlr at distance
+ \advance\pgf at xb\tikzext at tikz@udlr at distance
\pgf at xc\pgf at xb
\edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
\fi
@@ -544,9 +543,8 @@
\pgf at marshal}%
%% a few nice to haves, use with to or edge operator
-\let\tikz at origtotarget\pgfutil at empty
\tikzset{
- node as new start/.is if=tikz at ortho@preflush,
+ node as new start/.is if=tikzext at ortho@preflush,
node as new start,
horizontal vertical/.style={to path={-| (\tikztotarget) \tikztonodes}},
vertical horizontal/.style={to path={|- (\tikztotarget) \tikztonodes}},
@@ -554,23 +552,23 @@
vertical horizontal vertical/.style={to path={|-| (\tikztotarget) \tikztonodes}},
only vertical second/.style={to path={
\pgfextra
- \let\tikz at ortho@anchor\pgfutil at empty
- \let\tikz at origtotarget\pgfutil at empty
+ \let\tikzext at ortho@anchor\pgfutil at empty
+ \let\tikzext at origtotarget\pgfutil at empty
\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
\iftikz at shapeborder
\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
\ifdim\pgf at y>\tikz at lasty\relax
\edef\tikztostart{\tikztostart.north}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.south}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
\else
\edef\tikztostart{\tikztostart.south}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.north}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
\fi
\fi
\def\tikz at tempa{#1}%
\ifx\tikz at tempa\pgfutil at empty\else
- \let\tikz at origtotarget\tikztotarget
- \edef\tikztotarget{[xshift={#1}]\tikztotarget\tikz at ortho@anchor}%
+ \let\tikzext at origtotarget\tikztotarget
+ \edef\tikztotarget{[xshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
\fi
\endpgfextra
[insert path/.expanded={
@@ -577,28 +575,28 @@
(perpendicular cs: horizontal line through={(\tikztostart)},
vertical line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
\pgfextra
- \ifx\tikz at origtotarget\pgfutil at empty\else
- \iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi\endpgfextra}},
+ \ifx\tikzext at origtotarget\pgfutil at empty\else
+ \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
only vertical second/.default=,
only horizontal second/.style={to path={
\pgfextra
- \let\tikz at ortho@anchor\pgfutil at empty
- \let\tikz at origtotarget\pgfutil at empty
+ \let\tikzext at ortho@anchor\pgfutil at empty
+ \let\tikzext at origtotarget\pgfutil at empty
\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
\iftikz at shapeborder
\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
\ifdim\pgf at x>\tikz at lastx\relax
\edef\tikztostart{\tikztostart.east}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.west}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
\else
\edef\tikztostart{\tikztostart.west}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.east}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
\fi
\fi
\def\tikz at tempa{#1}%
\ifx\tikz at tempa\pgfutil at empty\else
- \let\tikz at origtotarget\tikztotarget
- \edef\tikztotarget{[yshift={#1}]\tikztotarget\tikz at ortho@anchor}%
+ \let\tikzext at origtotarget\tikztotarget
+ \edef\tikztotarget{[yshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
\fi
\endpgfextra
[insert path/.expanded={
@@ -605,28 +603,28 @@
(perpendicular cs: vertical line through={(\tikztostart)},
horizontal line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
\pgfextra
- \ifx\tikz at origtotarget\pgfutil at empty\else
- \iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi\endpgfextra}},
+ \ifx\tikzext at origtotarget\pgfutil at empty\else
+ \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
only horizontal second/.default=,
only vertical first/.style={to path={
\pgfextra
- \let\tikz at ortho@anchor\pgfutil at empty
- \let\tikz at origtotarget\pgfutil at empty
+ \let\tikzext at ortho@anchor\pgfutil at empty
+ \let\tikzext at origtotarget\pgfutil at empty
\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
\iftikz at shapeborder
- \let\tikz at origtotarget\tikztotarget
+ \let\tikzext at origtotarget\tikztotarget
\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
\ifdim\pgf at y>\tikz at lasty\relax
\edef\tikztotarget{\tikztotarget.south}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.north}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
\else
\edef\tikztotarget{\tikztotarget.north}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.south}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
\fi
\fi
\def\tikz at tempa{#1}%
\ifx\tikz at tempa\pgfutil at empty\else
- \edef\tikztostart{[xshift={#1}]\tikztostart\tikz at ortho@anchor}%
+ \edef\tikztostart{[xshift={#1}]\tikztostart\tikzext at ortho@anchor}%
\fi
\endpgfextra
[insert path/.expanded={(\tikztostart)}]
@@ -634,28 +632,28 @@
horizontal line through={(\tikztotarget)})
\tikztonodes
\pgfextra
- \ifx\tikz at origtotarget\pgfutil at empty\else
- \iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi\endpgfextra}},
+ \ifx\tikzext at origtotarget\pgfutil at empty\else
+ \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
only vertical first/.default=,
only horizontal first/.style={to path={
\pgfextra
- \let\tikz at ortho@anchor\pgfutil at empty
- \let\tikz at origtotarget\pgfutil at empty
+ \let\tikzext at ortho@anchor\pgfutil at empty
+ \let\tikzext at origtotarget\pgfutil at empty
\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
\iftikz at shapeborder
- \let\tikz at origtotarget\tikztotarget
+ \let\tikzext at origtotarget\tikztotarget
\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
\ifdim\pgf at x>\tikz at lastx\relax
\edef\tikztotarget{\tikztotarget.west}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.east}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
\else
\edef\tikztotarget{\tikztotarget.east}%
- \iftikz at shapeborder\def\tikz at ortho@anchor{.west}\fi
+ \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
\fi
\fi
\def\tikz at tempa{#1}%
\ifx\tikz at tempa\pgfutil at empty\else
- \edef\tikztostart{[yshift={#1}]\tikztostart\tikz at ortho@anchor}%
+ \edef\tikztostart{[yshift={#1}]\tikztostart\tikzext at ortho@anchor}%
\fi
\endpgfextra
[insert path/.expanded={(\tikztostart)}]
@@ -662,22 +660,22 @@
-- (perpendicular cs: horizontal line through/.expanded={(\tikztostart)},
vertical line through={(\tikztotarget)})
\tikztonodes \pgfextra
- \ifx\tikz at origtotarget\pgfutil at empty\else
- \iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi\endpgfextra}},
+ \ifx\tikzext at origtotarget\pgfutil at empty\else
+ \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
only horizontal first/.default=,
only vertical first to center/.style={to path={
\pgfextra
- \let\tikz at origtotarget\tikztotarget
+ \let\tikzext at origtotarget\tikztotarget
\endpgfextra
(\tikztostart) -- (perpendicular cs: vertical line through={(\tikztostart)},
horizontal line through={(\tikztotarget)})
- \tikztonodes \ifx\tikz at origtotarget\pgfutil at empty\else\iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi}},
+ \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}},
only horizontal first to center/.style={to path={
\pgfextra
- \let\tikz at origtotarget\tikztotarget
+ \let\tikzext at origtotarget\tikztotarget
\endpgfextra
(\tikztostart) -- (perpendicular cs: horizontal line through={(\tikztostart)},
vertical line through={(\tikztotarget)})
- \tikztonodes \ifx\tikz at origtotarget\pgfutil at empty\else\iftikz at ortho@preflush(\tikz at origtotarget)\fi\fi}}%
+ \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}}%
}
\endinput
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -1,3 +1,10 @@
+% 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.
+%
% This is the TikZ library patterns.images
% Load with \usetikzlibrary{patterns.images}
%
@@ -8,13 +15,13 @@
% - use image as pattern=<name>
% - image as pattern=<opt arguments for \pgftext>
-\def\pgfsetupimageaspattern{\pgfutil at ifnextchar[\qrr at pgfsetupimageaspattern{\qrr at pgfsetupimageaspattern[]}}
-\def\qrr at pgfsetupimageaspattern[#1]#2#3{% #1 = options
+\def\pgfsetupimageaspattern{\pgfutil at ifnextchar[\tikzext at pgfsetupimageaspattern{\tikzext at pgfsetupimageaspattern[]}}
+\def\tikzext at pgfsetupimageaspattern[#1]#2#3{% #1 = options
% #2 = image name
% #3 = file name
- \pgfdeclareimage[#1]{qrr at pgf@iap@#2}{#3}%
- \sbox\pgfutil at tempboxa{\pgfuseimage{qrr at pgf@iap@#2}}%
- \expandafter\edef\csname qrr at pgf@iap@#2@\endcsname{{\the\wd\pgfutil at tempboxa}{\the\ht\pgfutil at tempboxa}}%
+ \pgfdeclareimage[#1]{tikzext at pgf@iap@#2}{#3}%
+ \sbox\pgfutil at tempboxa{\pgfuseimage{tikzext at pgf@iap@#2}}%
+ \expandafter\edef\csname tikzext at pgf@iap@#2@\endcsname{{\the\wd\pgfutil at tempboxa}{\the\ht\pgfutil at tempboxa}}%
}
\tikzset{
image as pattern/name/.initial=,
@@ -22,13 +29,13 @@
image as pattern/options/.style={/tikz/image as pattern/option/.append style={#1}},
image as pattern/.default=,
image as pattern/.code={
- \tikzset{image as pattern/.cd,#1}
+ \pgfqkeys{/tikz/image as pattern}{#1}%
\pgfkeysgetvalue{/tikz/image as pattern/name}\tikz at temp
\pgfutil at ifxempty\tikz at temp{%
\tikzerror{You need to specify a name for the ``image-pattern'' to be used.}%
}{%
- \edef\tikz at tempa{\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname qrr at pgf@iap@\tikz at temp @\endcsname}%
- \edef\tikz at tempb{\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname qrr at pgf@iap@\tikz at temp @\endcsname}%
+ \edef\tikz at tempa{\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
+ \edef\tikz at tempb{\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
\pgfkeysalso{/tikz/path picture={%
\pgf at process{\pgfpointanchor{path picture bounding box}{north east}}%
\pgf at xa\pgf at x\pgf at ya\pgf at y
@@ -37,7 +44,7 @@
\pgfutil at loop
{%
\pgfutil at loop
- \expandafter\pgftext\expandafter[/tikz/image as pattern/option,at=\pgfqpoint{\pgf at xb}{\pgf at yb}]{\pgfuseimage{qrr at pgf@iap@\tikz at temp}}%
+ \expandafter\pgftext\expandafter[/tikz/image as pattern/option,at=\pgfqpoint{\pgf at xb}{\pgf at yb}]{\pgfuseimage{tikzext at pgf@iap@\tikz at temp}}%
\ifdim\pgf at yb<\pgf at ya
\advance\pgf at yb\tikz at tempb
\pgfutil at repeat
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -66,7 +66,7 @@
\tikzset{east above/.code =\tikz at lib@place at handle@{#1}{south east}{0}{1}{north east}{1}}
\tikzset{east below/.code=\tikz at lib@place at handle@{#1}{north east}{0}{-1}{south east}{1}}
-\newif\ifqrr at tikz@lib at place@postransform
+\newif\iftikzext at tikz@lib at place@postransform
\tikzset{node distance transformation/.is if=qrr at tikz@lib at place@postransform}
\def\tikz at lib@place at handle@@#1#2#3#4{%
\pgfutil at in@{of }{#1}%
@@ -81,7 +81,7 @@
\expandafter\tikz at lib@place at parse@nums\expandafter{\tikz at lib@place at nums}%
\pgf at x=#2\pgf at x
\pgf at y=#3\pgf at y
- \ifqrr at tikz@lib at place@postransform
+ \iftikzext at tikz@lib at place@postransform
\pgf at pos@transform{\pgf at x}{\pgf at y}% change from original
\fi
\edef\tikz at lib@pos at call{\noexpand\pgftransformshift{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}}%
@@ -91,7 +91,7 @@
\def\tikz at lib@place at handle@#1#2#3#4#5#6{%
\pgfutil at in@{:}{#1}%
\ifpgfutil at in@
- \tikz at lib@place at handle@qrr@#1\tikz at stop
+ \tikzext at lib@place at handle@#1\tikz at stop
\ifx\pgf at temp\pgfutil at empty
\let\pgf at temp\tikz at node@distance
\fi
@@ -107,24 +107,24 @@
\expandafter\tikz at lib@place at handle@@\expandafter{\tikz at temp}{#3}{#4}{#5}%
\fi
}
-\def\tikz at lib@place at handle@qrr@#1:#2\tikz at stop{%
+\def\tikzext at lib@place at handle@#1:#2\tikz at stop{%
\pgfutil at in@{and}{#1}%
\ifpgfutil at in@
- \tikz at lib@place at handle@qrr@@#1\tikz at stop
+ \tikzext at lib@place at handle@@#1\tikz at stop
\else
- \tikz at lib@place at handle@qrr@@#1and#1\tikz at stop
+ \tikzext at lib@place at handle@@#1and#1\tikz at stop
\fi
\def\pgf at temp{#2}%
}
-\def\tikz at lib@place at handle@qrr@@#1and#2\tikz at stop{%
+\def\tikzext at lib@place at handle@@#1and#2\tikz at stop{%
\def\pgf at tempa{#1}%
\def\pgf at tempb{#2}%
}
-\def\qrr at xyshift@starred#1#2#3{%
+\def\tikzext at xyshift@starred#1#2#3{%
\edef\tikz at marshal{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
\tikz at marshal
\ifpgfutil at in@
- \expandafter\tikz at lib@place at handle@qrr@@\tikz at node@distance\tikz at stop
+ \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
\else
\let#3\tikz at node@distance
\fi
@@ -144,8 +144,8 @@
\pgftransformshift{\pgfqpoint{\pgf at x}{\pgf at y}}%
\fi}
\tikzset{
- xshift*/.code=\qrr at xyshift@starred{#1}x\pgf at tempb,
- yshift*/.code=\qrr at xyshift@starred{#1}y\pgf at tempa
+ xshift*/.code=\tikzext at xyshift@starred{#1}x\pgf at tempb,
+ yshift*/.code=\tikzext at xyshift@starred{#1}y\pgf at tempa
}
\def\pgfutil at firstofmany#1#2\pgf at stop{#1}
@@ -233,7 +233,7 @@
\begingroup
\edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
\pgfmath at temp\ifpgfutil at in@
- \expandafter\tikz at lib@place at handle@qrr@@\tikz at node@distance\tikz at stop
+ \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
\else
\let\pgf at tempb\tikz at node@distance
\fi
@@ -245,7 +245,7 @@
\begingroup
\edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
\pgfmath at temp\ifpgfutil at in@
- \expandafter\tikz at lib@place at handle@qrr@@\tikz at node@distance\tikz at stop
+ \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
\else
\let\pgf at tempa\tikz at node@distance
\fi
@@ -256,7 +256,7 @@
%\tikzdeclarecoordinatesystem{node distance}{%
% \tikz at cs@nd#1\tikz at stop}
%\def\tikz at cs@nd#1,#2\tikz at stop{%
-% \def\qrr at xyshift@starred at action##1{\pgftransformshift{##1}}%
-% \qrr at xyshift@starred{#1}x\pgf at tempb
-% \qrr at xyshift@starred{#2}y\pgf at tempa}
+% \def\tikzext at xyshift@starred at action##1{\pgftransformshift{##1}}%
+% \tikzext at xyshift@starred{#1}x\pgf at tempb
+% \tikzext at xyshift@starred{#2}y\pgf at tempa}
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex 2022-09-25 20:13:09 UTC (rev 64505)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex 2022-09-25 20:13:55 UTC (rev 64506)
@@ -10,61 +10,121 @@
mirror/.code={%
\pgfutil at in@{--}{#1}%
\ifpgfutil at in@
- \tikz at trans@mirror#1\@nil
+ \tikzext at trans@mirror#1\tikz at stop
\else
- \tikz at scan@one at point\pgfqtransformmirror#1\relax
+ \tikz at addtransform{\tikz at scan@one at point\pgfqtransformmirror#1\relax}%
\fi},
- ymirror/.code={\pgfutil at ifnextchar(\tikz at trans@ymirror at coordinate\tikz at trans@ymirror at simple#1\@nil},
- xmirror/.code={\pgfutil at ifnextchar(\tikz at trans@xmirror at coordinate\tikz at trans@xmirror at simple#1\@nil},
+ ymirror/.code={\pgfutil at ifnextchar(\tikzext at trans@ymirror at coordinate\tikzext at trans@ymirror at simple#1\tikz at stop},
+ xmirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xmirror at coordinate\tikzext at trans@xmirror at simple#1\tikz at stop},
mirror x/.code={%
\pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
- \pgftransformmirror{\tikz at temp}{\pgfpointadd{\tikz at temp}{\pgfqpointxy{0}{1}}}},
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformmirror
+ {\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfqpointxy{0}{1}}}}}%
+ \tikz at marshal
+ },
mirror y/.code={%
\pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
- \pgftransformmirror{\tikz at temp}{\pgfpointadd{\tikz at temp}{\pgfqpointxy{1}{0}}}},
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformmirror
+ {\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfqpointxy{1}{0}}}}}%
+ \tikz at marshal
+ },
mirror/.value required,
- ymirror/.value required,
- xmirror/.value required,
- mirror x/.value required,
- mirror y/.value required}
-\def\tikz at trans@mirror#1--#2\@nil{%
- \pgftransformmirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
- {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}
-\def\tikz at trans@xmirror at simple#1\@nil{\pgftransformxmirror{#1}}
-\def\tikz at trans@ymirror at simple#1\@nil{\pgftransformymirror{#1}}
-\def\tikz at trans@xmirror at coordinate#1\@nil{%
- \tikz at scan@one at point\pgfutil at firstofone#1\pgftransformxmirror{+\the\pgf at x}}
-\def\tikz at trans@ymirror at coordinate#1\@nil{%
- \tikz at scan@one at point\pgfutil at firstofone#1\pgftransformymirror{+\the\pgf at y}}
+ ymirror/.default=+0pt,
+ xmirror/.default=+0pt,
+ mirror x/.default={(0,0)},
+ mirror y/.default={(0,0)}%
+}
+\def\tikzext at trans@mirror#1--#2\tikz at stop{%
+ \tikz at addtransform{%
+ \pgftransformmirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
+ {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
+\def\tikzext at trans@xmirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxmirror{#1}}}
+\def\tikzext at trans@ymirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformymirror{#1}}}
+\def\tikzext at trans@xmirror at coordinate#1\tikz at stop{%
+ \tikz at scan@one at point\pgfutil at firstofone#1\relax
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformxmirror{+\the\pgf at x}%
+ }%
+ }%
+ \tikz at marshal
+}
+\def\tikzext at trans@ymirror at coordinate#1\tikz at stop{%
+ \tikz at scan@one at point\pgfutil at firstofone#1\relax
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformymirror{+\the\pgf at y}%
+ }%
+ }%
+ \tikz at marshal
+}
\tikzset{
Mirror/.code={%
\pgfutil at in@{--}{#1}%
\ifpgfutil at in@
- \tikz at trans@Mirror#1\@nil
+ \tikzext at trans@Mirror#1\tikz at stop
\else
- \tikz at scan@one at point\pgfqtransformMirror#1\relax
+ \tikz at addtransform{\tikz at scan@one at point\pgfqtransformMirror#1\relax}%
\fi},
- yMirror/.code={\pgfutil at ifnextchar(\tikz at trans@yMirror at coordinate\tikz at trans@yMirror at simple#1\@nil},
- xMirror/.code={\pgfutil at ifnextchar(\tikz at trans@xMirror at coordinate\tikz at trans@xMirror at simple#1\@nil},
+ yMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@yMirror at coordinate\tikzext at trans@yMirror at simple#1\tikz at stop},
+ xMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xMirror at coordinate\tikzext at trans@xMirror at simple#1\tikz at stop},
Mirror x/.code={%
\pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
- \pgftransformMirror{\tikz at temp}{\pgfpointadd{\tikz at temp}{\pgfqpointxy{0}{1}}}},
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformMirror
+ {\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfqpointxy{0}{1}}}}}%
+ \tikz at marshal
+ },
Mirror y/.code={%
\pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
- \pgftransformMirror{\tikz at temp}{\pgfpointadd{\tikz at temp}{\pgfqpointxy{1}{0}}}},
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformMirror
+ {\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+ {\noexpand\pgfqpointxy{1}{0}}}}}%
+ \tikz at marshal
+ },
Mirror/.value required,
- yMirror/.value required,
- xMirror/.value required,
- Mirror x/.value required,
- Mirror y/.value required}
-\def\tikz at trans@Mirror#1--#2\@nil{%
- \pgftransformMirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
- {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}
-\def\tikz at trans@xMirror at simple#1\@nil{\pgftransformxMirror{#1}}
-\def\tikz at trans@yMirror at simple#1\@nil{\pgftransformyMirror{#1}}
-\def\tikz at trans@xMirror at coordinate#1\@nil{%
- \tikz at scan@one at point\pgfutil at firstofone#1\pgftransformxMirror{+\the\pgf at x}}
-\def\tikz at trans@yMirror at coordinate#1\@nil{%
- \tikz at scan@one at point\pgfutil at firstofone#1\pgftransformyMirror{+\the\pgf at y}}
+ yMirror/.default=+0pt,
+ xMirror/.default=+0pt,
+ Mirror x/.default={(0,0)},
+ Mirror y/.default={(0,0)}%
+}
+\def\tikzext at trans@Mirror#1--#2\tikz at stop{%
+ \tikz at addtransform{%
+ \pgftransformMirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
+ {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
+\def\tikzext at trans@xMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxMirror{#1}}}
+\def\tikzext at trans@yMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformyMirror{#1}}}
+\def\tikzext at trans@xMirror at coordinate#1\tikz at stop{%
+ \tikz at scan@one at point\pgfutil at firstofone#1\relax
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformxMirror{+\the\pgf at x}%
+ }%
+ }%
+ \tikz at marshal
+}
+\def\tikzext at trans@yMirror at coordinate#1\tikz at stop{%
+ \tikz at scan@one at point\pgfutil at firstofone#1\relax
+ \edef\tikz at marshal{%
+ \noexpand\tikz at addtransform{%
+ \noexpand\pgftransformyMirror{+\the\pgf at y}%
+ }%
+ }%
+ \tikz at marshal
+}
\endinput
More information about the tex-live-commits
mailing list.