diff options
author | Norbert Preining <norbert@preining.info> | 2022-10-11 03:01:16 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-10-11 03:01:16 +0000 |
commit | 2713ec666b0e53418a839b97c48e0a9234fe5c98 (patch) | |
tree | 44f44c40d7cf3d6c2c0be9da7bfcf4dad97eb483 /graphics/pgf/contrib | |
parent | 9c7942efff8183c8695ec824008847dd068dbfe7 (diff) |
CTAN sync 202210110301
Diffstat (limited to 'graphics/pgf/contrib')
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/README.md | 2 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex) | 22 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex) | 60 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex) | 26 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib) | 23 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf) | bin | 525958 -> 534933 bytes | |||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex (renamed from graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex) | 12 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.code.tex) | 85 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.heatmark.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.superellipse.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex (renamed from graphics/pgf/contrib/tikz-ext/pgflibraryext.transformations.mirror.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.calendar-plus.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.misc.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.code.tex) | 2 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex | 326 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.ortho.code.tex) | 77 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.timer.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.patterns.images.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.positioning-plus.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex (renamed from graphics/pgf/contrib/tikz-ext/tikzlibraryext.transformations.mirror.code.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/latex/tikz-ext/pgfcalendar-ext.sty (renamed from graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.sty) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tex/plain/tikz-ext/pgfcalendar-ext.tex (renamed from graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.tex) | 0 | ||||
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.arcto.code.tex | 104 |
45 files changed, 545 insertions, 194 deletions
diff --git a/graphics/pgf/contrib/tikz-ext/README.md b/graphics/pgf/contrib/tikz-ext/README.md index bee9e3512a..33ec46d366 100644 --- a/graphics/pgf/contrib/tikz-ext/README.md +++ b/graphics/pgf/contrib/tikz-ext/README.md @@ -30,7 +30,7 @@ These are * `ext.shapes.circlecrosssplit` * `ext.shapes.heatmark` * `ext.shapes.rectangleroundedcorners` - * `ext.shapes.superellopse` + * `ext.shapes.superellipse` These were developed in response to questions on tex.stackexchange.com. Some of these can be find by searching for my [user id](https://tex.stackexchange.com/search?q=user%3A16595+%22my+library%22).
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex index 4f2300a458..09bd261a21 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-calendar.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-calendar.tex @@ -13,7 +13,7 @@ \begin{package}{calendar-ext} 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} + \inspiration{WeekNum-Q,CalCond-Q,CalFullWeek-Q}{WeekNum-A,CalCond-A,CalFullWeek-A} \end{package} %This package extends the |pgfcalendar| package. @@ -43,12 +43,30 @@ The following tests are added. This test passes when all \meta{tests} pass. \itemcalendaroption{not}|=|\marg{tests} This test passes when \meta{tests} do not pass. +\itemcalendaroption{week of month}|=|\meta{num} + This test passes when the date is in \meta{num}th week of the month. + The first week of the month start at day~1 and ends with day~7. +\itemcalendaroption{week of month'}|=|\meta{num} + As above but counts from the last day of the month. + For a month with 31~days, this means the ``1st'' week starts at day~25 and ends with day~31. +\itemcalendaroption{calendar week of month}|=|\meta{num} + This test passes when the date is in \meta{num}th calendar week of the month. + The first week starts at the first day of the month and ends at the next Sunday. +\itemcalendaroption{calendar week of month'}|=|\meta{num} + As above but counts from the last day of the month. +\begin{codeexample}[width=5cm,preamble=\usetikzlibrary{ext.calendar-plus}] +\tikz + \calendar[ + dates=2022-10-01 to 2022-10-31, + week list] + if (week of month=2) [red] + if (calendar week of month'=2) [blue]; +\end{codeexample} \itemcalendaroption{yesterday}|=|\marg{tests} This test passes when the previous day passes \meta{tests}. \itemcalendaroption{week}|=|\meta{num} This test passes when the current week of the year equals \marg{num}. \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 \pgfname math. The shorthands for the week (see section~\ref{calendar:weeknumbering}) diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex index f9468175cb..f9468175cb 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-intro.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex index bdfd225f3c..bdfd225f3c 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-calendar-plus.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-calendar-plus.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex index 163097e6a1..163097e6a1 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-misc.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex index d4b274511c..d4b274511c 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-node-families.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-node-families.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex index 8ed660b3a3..8ed660b3a3 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.arcto.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex index a46f6be023..ba78f47dcb 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.ortho.tex @@ -33,7 +33,7 @@ the path operations \verb!|-|! and \verb!-|-!. This operation means ``first horizontal, then vertical and then horizontal again''. \end{pathoperation} } -\begin{key}{/tikz/hvvh/ratio=\meta{ratio} (initially 0.5)} +\begin{key}{/tikz/ortho/ratio=\meta{ratio} (initially 0.5)} This sets the ratio for the middle part of the Zig-Zag connection. For values $\meta{ratio} < 0$ and $\meta{ratio} > 1$ the Zig-Zag lines will @@ -47,7 +47,7 @@ the path operations \verb!|-|! and \verb!-|-!. \end{codeexample} \end{key} %TODO: hvvh/distance needs fixing, maybe? -\begin{key}{/tikz/hvvh/distance=\meta{distance}} +\begin{key}{/tikz/ortho/distance=\meta{distance}} This sets the distance between the start point and the middle part of the Zig-Zag connection. @@ -64,7 +64,7 @@ the path operations \verb!|-|! and \verb!-|-!. \end{tikzpicture} \end{codeexample} \end{key} -\begin{key}{/tikz/hvvh/from center=\opt{\meta{true or false}} (default true)} +\begin{key}{/tikz/ortho/from center=\opt{\meta{true or false}} (default true)} When nodes get connected the placement of the middle part of the Zig-Zag and the Zig-Zig (see below) connections will be calculated from the border of these nodes. @@ -79,7 +79,7 @@ these can be configured through the following keys. foreach \p in {0.0, 0.25, 0.5, 0.75, 1.0}{ node [pos=\p] {\p}}; \end{codeexample} -\begin{key}{/tikz/hvvh/spacing=\meta{number} (initially 4)} +\begin{key}{/tikz/ortho/spacing=\meta{number} (initially 4)} Unless $\meta{number} = 0$ is set \begin{itemize} \item |pos = 0| will be at the start,\indexKeyO{pos} @@ -98,63 +98,59 @@ these can be configured through the following keys. \item |pos = .5| will still be in the middle of the middle part of the connection. \end{itemize} \end{key} -\begin{key}{/tikz/hvvh/middle 0 to 1} +\begin{key}{/tikz/ortho/middle 0 to 1} This is an alias for |spacing = 0|. \end{key} \subsection{Zig-Zig} \begin{pathoperation}{r-ud}{\opt{\oarg{options}}\meta{coordinate or cycle}} This operation means ``first up, then horizontal and then down''. - \begin{key}{/tikz/udlr/ud distance=\meta{length} (initially .5cm)} + \begin{key}{/tikz/ortho/ud distance=\meta{length} (initially .5cm)} This sets the distance between the start and the horizontal line to \meta{length}. \end{key} \end{pathoperation} \begin{pathoperation}{r-du}{\opt{\oarg{options}}\meta{coordinate or cycle}} This operation means ``first down, then horizontal and then up''. - \begin{key}{/tikz/udlr/du distance=\meta{length} (initially .5cm)} + \begin{key}{/tikz/ortho/du distance=\meta{length} (initially .5cm)} This sets the distance between the start and the horizontal line to \meta{length}. \end{key} \end{pathoperation} \begin{pathoperation}{r-lr}{\opt{\oarg{options}}\meta{coordinate or cycle}} This operation means ``left down, then vertical and then right''. - \begin{key}{/tikz/udlr/lr distance=\meta{length} (initially .5cm)} + \begin{key}{/tikz/ortho/lr distance=\meta{length} (initially .5cm)} This sets the distance between the start and the vertical line to \meta{length}. \end{key} \end{pathoperation} \begin{pathoperation}{r-rl}{\opt{\oarg{options}}\meta{coordinate or cycle}} This operation means ``first right, then vertical and then down''. - \begin{key}{/tikz/udlr/rl distance=\meta{length} (initially .5cm)} + \begin{key}{/tikz/ortho/rl distance=\meta{length} (initially .5cm)} This sets the distance between the start and the vertical line to \meta{length}. \end{key} \end{pathoperation} All distances can be set with on key. -\begin{key}{/tikz/udlr/distance=\meta{length}} - Sets all distances in the |/tikz/udlr| namespace. -\end{key} - -\begin{key}{/tikz/udlr/from center=\opt{\meta{true or false}} (initially false, default true)} - This is an alias for |/tikz/hvvh/from center|. +\begin{key}{/tikz/ortho/udlr distance=\meta{length}} + Sets all the previous distances to the same value \meta{length}. \end{key} \subsection{Even more Horizontal and Vertical Lines} The following keys can be used to access vertical and horizontal line path operations. \begin{stylekey}{/tikz/horizontal vertical} - This installs \verb!to path = -| (\tikztotarget) \tikztonodes! that can be used with\indexKeyO{to path} - the path operations |to| or |edge|. + This installs \verb!to path = -| (\tikztotarget) \tikztonodes!\indexKeyO{to path} + that can be used with the path operations |to| or |edge|. \end{stylekey} \begin{stylekey}{/tikz/vertical horizontal} - This installs \verb!to path = |- (\tikztotarget) \tikztonodes! that can be used with - the path operations |to| or |edge|. + This installs \verb!to path = |- (\tikztotarget) \tikztonodes! + that can be used with the path operations |to| or |edge|. \end{stylekey} \begin{stylekey}{/tikz/horizontal vertical horizontal} - This installs \verb!to path = -|- (\tikztotarget) \tikztonodes! that can be used with - the path operations |to| or |edge|. + This installs \verb!to path = -|- (\tikztotarget) \tikztonodes! + that can be used with the path operations |to| or |edge|. \end{stylekey} \begin{stylekey}{/tikz/vertical horizontal vertical} - This installs \verb!to path = |-| (\tikztotarget) \tikztonodes! that can be used with - the path operations |to| or |edge|. + This installs \verb!to path = |-| (\tikztotarget) \tikztonodes! + that can be used with the path operations |to| or |edge|. \end{stylekey} When connecting rectangular nodes, these keys could be useful as well. @@ -183,3 +179,21 @@ it connects to the start point in the center (or at its border in case it is a n The optional \meta{length} can be used to shift the line orthogonally to its direction. \end{stylekey} + +\pagebreak +Since all previous key are rather cumbersome, one can install shortcuts for these. +\begin{stylekey}{/tikz/ortho/install shortcuts} +Installs the following shortcuts:\\ +{\ttfamily +\begin{tabular}{l@{\hspace{.5em}${}\to{}$\hspace{.5em}}l} + \pgfmanualbar- & vertical horizontal \\ + -\pgfmanualbar & horizontal vertical \\ + -\pgfmanualbar- & horizontal vertical horizontal \\ + \pgfmanualbar-\pgfmanualbar & vertical horizontal vertical \\ + \pgfmanualbar* & only vertical first \\ + *\pgfmanualbar & only vertical second \\ + \pgfmanualbar* & only vertical first \\ + *\pgfmanualbar & only vertical second +\end{tabular} +} +\end{stylekey} diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex index 595a647917..595a647917 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-paths.timer.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex index c3c38a8517..c3c38a8517 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-patterns.images.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex index 56c81376aa..56c81376aa 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-positioning-plus.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-positioning-plus.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex index 1d9e5ba9df..1d9e5ba9df 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-topaths.arcthrough.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex index 97011bc4d0..97011bc4d0 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-library-trans.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex index 1185cdb6d7..fd071e009e 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-body.tex @@ -8,7 +8,7 @@ % 2. under the GNU Free Documentation License. % \newcommand*\tikzextname{Ti\textit kZ-Extensions} -\newcommand*\tikzextversion{0.3} +\newcommand*\tikzextversion{0.4} \begin{document} {\colorlet{blue}{black}% links shall be black \title{\bfseries The \tikzextname\space Package\\ @@ -167,6 +167,19 @@ These libraries (should) work with both \pgfname\space and \tikzname. \section*{Changelog}\addcontentsline{toc}{section}{Changelog} \begin{multicols}{2}\raggedright \noindent +Version 0.4 +\begin{itemize} +\item CTAN version of 0.3.1 +\end{itemize} +Version 0.3.1 +\begin{itemize} +\item Fixed |ext.paths.ortho| keys |only vertical first| and |only horizontal first|. +\item Moved all (except the |to path|s) to namespace |/tikz/ortho|. + |/tikz/hvvh| and |/tikz/udlr| are considered deprecated. +\item Fixed |\pgfcalendarjulianyeartoweek|. +\item Added more calendar tests. +\item Added directory structure. +\end{itemize} Version 0.3 \begin{itemize} \item \addShape[circle arrow]{circlearrow} @@ -199,6 +212,17 @@ Version 0.1 \end{multicols} \printindex +\makeatletter +\def\url#1{% + \in@{/16595}{#1}% + \ifin@ + \hyper@linkurl{\expandafter\Hurl\expandafter{\strip@url#1\relax}}{#1}% + \else + \hyper@linkurl{\Hurl{#1}}{#1}% + \fi +} +\def\strip@url#1/16595\relax{#1} +\makeatother \printbibliography[heading=bibintoc] %\typeout{Examples: \the\codeexamplecount}% \end{document}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex index 494d63e012..494d63e012 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-main-preamble.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex index e26711bb35..e26711bb35 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlearrow.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlearrow.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex index e7b2b9ba5a..e7b2b9ba5a 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-circlecrosssplit.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex index fa13cb0000..fa13cb0000 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-heatmark.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex index 78bab76925..78bab76925 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-rectround.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-rectround.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex index 580ef0d93f..580ef0d93f 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-superellipse.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-shapes-superellipse.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex index ccd378a6e7..ccd378a6e7 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual-en-pgf-trans.tex diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib index 7bb85bf7b2..5a13e91d41 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.bib +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.bib @@ -296,4 +296,27 @@ year = {2013}, } +' +@Online{CalFullWeek-Q, + author = {jd6}, + file = {Snapshot:https\://tex.stackexchange.com/questions/576673/full-weeks-in-tikz-calendar/660335#660335:text/html}, + month = dec, + title = {Full weeks in Tikz Calendar}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/q/576673/16595}, + urldate = {2022-10-09}, + year = {2020}, +} + +@Online{CalFullWeek-A, + author = {Qrrbrbirlbel}, + file = {Snapshot:https\://tex.stackexchange.com/questions/576673/full-weeks-in-tikz-calendar/660335#660335:text/html}, + month = oct, + title = {Answer to \enquote{Full weeks in Tikz Calendar}}, + titleaddon = {{TeX} - {LaTeX} Stack Exchange}, + url = {https://tex.stackexchange.com/a/660335/16595}, + urldate = {2022-10-09}, + year = {2022}, +} + @Comment{jabref-meta: databaseType:bibtex;} diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf Binary files differindex afeef21a22..f4a31a8c6a 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.pdf diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex index 1f2400847a..253944ca7d 100644 --- a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex +++ b/graphics/pgf/contrib/tikz-ext/doc/generic/tikz-ext/tikz-ext-manual.tex @@ -11,12 +11,8 @@ % \documentclass[a4paper,doc2,landscape]{ltxdoc} - \input{tikz-ext-manual-en-main-preamble.tex} \usetikzlibrary{external} -%\newif\iftikzextmanualexternalize -%\tikzextmanualexternalizetrue -%\iftikzextmanualexternalize \tikzexternalize[ prefix=tikz/, % mode=convert with system call, @@ -24,9 +20,9 @@ %mode=list only,export=true,% simply skips EVERY picture -> good for debugging the text. ] \tikzexternalenable - \tikzifexternalizing{% - \pgfkeys{/pdflinks/codeexample links=false}% - }{}% -%\fi +% \tikzexternaldisable + \tikzifexternalizing{ + \pgfkeys{/pdflinks/codeexample links=false} + }{} \input{tikz-ext-manual-en-main-body.tex} diff --git a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex index b32ac9a3a6..90b42a0011 100644 --- a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgfcalendar-ext.code.tex @@ -26,6 +26,24 @@ \expandafter \endgroup\pgf@cal@temp }, + relative/.code 2 args={% + \begingroup + \pgfutil@tempcnta=\pgfcalendarifdatejulian\relax + \advance\pgfutil@tempcnta by #1\relax + \pgfcalendarjuliantodate{\pgfutil@tempcnta}{\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}% + \edef\pgfcalendarifdatejulian{\the\pgfutil@tempcnta}% + \pgfcalendarjuliantoweekday\pgfutil@tempcnta\pgfutil@tempcntb + \edef\pgfcalendarifdateweekday{\the\pgfutil@tempcntb}% + \pgfcalendarjulianyeartoweek\pgfutil@tempcnta\pgfcalendarifdateyear\pgfutil@tempcntb + \edef\pgfcalendarifdateweek{\the\pgfutil@tempcntb}% + \pgfcalendar@launch@ifdate{#2}{% + \def\pgf@cal@temp{\pgfcalendarmatchestrue}% + }{% + \let\pgf@cal@temp\pgfutil@empty + }% + \expandafter + \endgroup\pgf@cal@temp + }, Jan/.code={\ifnum\pgfcalendarifdatemonth=1 \expandafter\pgfcalendarmatchestrue\fi},Jan/.value forbidden, Feb/.code={\ifnum\pgfcalendarifdatemonth=2 \expandafter\pgfcalendarmatchestrue\fi},Feb/.value forbidden, Mar/.code={\ifnum\pgfcalendarifdatemonth=3 \expandafter\pgfcalendarmatchestrue\fi},Mar/.value forbidden, @@ -39,20 +57,6 @@ Nov/.code={\ifnum\pgfcalendarifdatemonth=11 \expandafter\pgfcalendarmatchestrue\fi},Nov/.value forbidden, Dec/.code={\ifnum\pgfcalendarifdatemonth=12 \expandafter\pgfcalendarmatchestrue\fi},Dec/.value forbidden, % - difference between/.code args={#1and#2 #3 #4}{% - \pgfcalendardatetojulian{#1}\pgfutil@tempcnta - \pgfcalendardatetojulian{#2}\pgfutil@tempcntb - \advance\pgfutil@tempcntb by -\pgfutil@tempcnta - \ifnum\pgfutil@tempcntb#3#4\relax - \pgfcalendarmatchestrue - \fi}, - weekday before or same/.code args={#1and#2}{% - \pgfcalendarjuliantoweekday{#1}\pgfutil@tempcnta - \pgfcalendarjuliantoweekday{#2}\pgfutil@tempcntb - \ifnum\pgfutil@tempcntb<\pgfutil@tempcnta - \pgfcalendarmatchestrue - \fi - }, leap year/.code={% \pgfutil@tempcnta=#1\relax \divide\pgfutil@tempcnta4 @@ -71,6 +75,7 @@ \fi \fi}, leap year/.default=\pgfcalendarifdateyear, + between days/.value required, between days/.code args={#1and#2}{% \pgfutil@tempcnta=#1\relax \ifnum\pgfcalendarifdateday<\pgfutil@tempcnta\else @@ -135,8 +140,31 @@ \pgfcalendar@launch@ifdate{\pgfkeyscurrentname={#1}}% {\let\pgf@cal@temp\pgfutil@empty}{\def\pgf@cal@temp{\pgfcalendarmatchesfalse}} \expandafter\endgroup\pgf@cal@temp - }% -} + },% + calendar week of month/.default=1, + calendar week of month'/.default=1, + calendar week of month/.code={% + \begingroup + \pgfutil@tempcnta=\pgfcalendarifdateday\relax + \advance\pgfutil@tempcnta by 5 + \advance\pgfutil@tempcnta by -\pgfcalendarifdateweekday\relax + \divide\pgfutil@tempcnta by 7 + \advance\pgfutil@tempcnta by -#1\relax + \expandafter\endgroup\expandafter + \ifnum\the\pgfutil@tempcnta=-1 + \pgfcalendarmatchestrue + \fi}, + calendar week of month'/.code={% + \begingroup + \pgfcalendar@getlastYMX\pgfcalendarifdateyear\pgfcalendarifdatemonth\pgfutil@tempcnta + \advance\pgfutil@tempcnta by -\pgfcalendarifdateday\relax + \edef\pgfcalendarifdateday{\the\pgfutil@tempcnta}% + \pgfutil@tempcnta=-\pgfcalendarifdateweekday\relax + \advance\pgfutil@tempcnta by 5 + \edef\pgfcalendarifdateweekday{\the\pgfutil@tempcnta}% + \let\pgf@cal@temp\pgfutil@empty + \pgfcalendar@launch@ifdate{calendar week of month={#1}}{\def\pgf@cal@temp{\pgfcalendarmatchestrue}}{}% + \expandafter\endgroup\pgf@cal@temp}} \def\pgfcalendar@ifdate@first#1#2:#3\pgf@stop{% \pgfqkeys{/pgf/calendar}{and={#3, week of month#1={#2}}}} @@ -178,9 +206,8 @@ \advance\pgfutil@tempcnta by 7\relax \fi % setup macro for year with {Julian number for day of first week}{weekday of -01-01} - \edef\pgf@cal@temp{\def\expandafter\noexpand\csname pgfcalendar@week@#1\endcsname - {{\the\pgfutil@tempcnta}{\the\pgfutil@tempcntb}}}% - \expandafter\endgroup\pgf@cal@temp + \expandafter\xdef\csname pgfcalendar@week@#1\endcsname{{\the\pgfutil@tempcnta}{\the\pgfutil@tempcntb}}% + \endgroup }{}% } @@ -211,12 +238,12 @@ {% we need to check the week of the previous year #3=#2\relax \advance#3 by -1 - \edef\pgf@cal@temp{\noexpand\pgfcalendarjulianyeartoweek@#1{\the#3}#3\noexpand\iffalse}% + \edef\pgf@cal@temp{\noexpand\pgfcalendarjulianyeartoweek@{#1}{\the#3}{#3}\noexpand\iffalse}% \pgf@cal@temp }{% yeah, it's weird \divide#3 by 7 \advance#3 by 1 - } + }% }{% \divide#3 by 7 \advance#3 by 1 @@ -315,6 +342,22 @@ \let\pgfcalendarifdateweek=\pgfcalendarcurrentweek \pgfcalendar@launch@ifdate% } +% +% Overwritigin original \pgfcalendarifdate +% +\def\pgfcalendarifdate#1#2#3#4{% + \pgfcalendardatetojulian{#1}{\pgfutil@tempcnta}% + \pgfcalendarjuliantodate{\pgfutil@tempcnta} + {\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}% + \edef\pgfcalendarifdatejulian{\the\pgfutil@tempcnta}% + % Compute info about date + \pgfcalendarjuliantoweekday{\pgfutil@tempcnta}{\pgfutil@tempcntb}% + \edef\pgfcalendarifdateweekday{\the\pgfutil@tempcntb}% + \pgfcalendarjulianyeartoweek{\pgfcalendarifdatejulian}{\pgfcalendarifdateyear}{\pgfutil@tempcntb}% + \edef\pgfcalendarifdateweek{\ifnum\pgfutil@tempcntb<10 0\fi\the\pgfutil@tempcntb}% + % + \pgfcalendar@launch@ifdate{#2}{#3}{#4}% +} \pgfqkeys{/pgf/calendar/week}{.value required,.code=\ifnum#1=\pgfcalendarifdateweek\relax\expandafter\pgfcalendarmatchestrue\fi} diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex index 9eb1c6ab09..9eb1c6ab09 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex index 7bc2761fb4..7bc2761fb4 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.heatmark.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex index 477d0442da..477d0442da 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.heatmark.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex index 37baf7abbf..37baf7abbf 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.superellipse.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex index 9a89b5a8a6..9a89b5a8a6 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.shapes.superellipse.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgflibraryext.transformations.mirror.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex index 4d962ccb1c..4d962ccb1c 100644 --- a/graphics/pgf/contrib/tikz-ext/pgflibraryext.transformations.mirror.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.calendar-plus.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex index 195ecf9414..195ecf9414 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.calendar-plus.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.misc.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex index 830b3513e5..830b3513e5 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.misc.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex index 699170d178..c0ecda441a 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex @@ -290,7 +290,7 @@ \ifdim\wd\pgfnodeparttextbox<\pgfutil@tempdima \pgfutil@tempdimb=\pgfutil@tempdima \advance\pgfutil@tempdimb-\wd\pgfnodeparttextbox - \setbox\pgfnodeparttextbox=\hbox to \pgfutil@tempdima{\tikzext@nf@align@action\pgfutil@tempdimb\box\pgfnodeparttextbox}% + \setbox\pgfnodeparttextbox=\hbox to \pgfutil@tempdima{\tikzext@nf@align@action\pgfutil@tempdimb\unhbox\pgfnodeparttextbox}% \fi \tikzext@nf@getandset{\the\dp\pgfnodeparttextbox}{text depth}{\pgfutil@tempdima}% \ifdim\dp\pgfnodeparttextbox<\pgfutil@tempdima diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex index 58384960a8..58384960a8 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex new file mode 100644 index 0000000000..c75f31b60a --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex @@ -0,0 +1,326 @@ +% 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. +% +\tikzset{ + arc to/.code=\pgfqkeys{/tikz/arc to}{#1}, + arc to={ + counter clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{1}, + clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{0}, + x radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}, + y radius/.code=\pgfkeyssetvalue{/tikz/y radius}{#1}, + radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}\pgfkeyssetvalue{/tikz/y radius}{#1}, + large/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{1}, + small/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{0}, + % defaults + rotate/.initial=0, counter clockwise, small, + counter clockwise/.value forbidden, + clockwise/.value forbidden, + large/.value forbidden, + small/.value forbidden}} +\def\tikz@arcA rc{\pgfutil@ifnextchar t% + {\tikz@flush@moveto\expandafter\expandafter\expandafter\tikz@arcB@cont\expandafter\pgfutil@gobble\pgfutil@gobble} + {\tikz@flush@moveto\tikz@arc@cont}} +\def\tikz@arcB@cont{% + \pgfutil@ifnextchar[\tikz@@do@arcB{ + \advance\tikz@expandcount by -10\relax% go down quickly + \ifnum\tikz@expandcount<0\relax% + \def\@next{\tikz@@do@arcB[]}% + \else% + \def\@next{\expandafter\tikz@arcB@cont}% + \fi% + \@next}}% +\def\tikz@@do@arcB[#1]{% + \def\tikz@arcB@options{#1}% + \tikz@do@@arcB} +\def\tikz@do@@arcB{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@do@@arcB} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\tikz@do@@arcB} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\tikz@do@@arcB} + {\tikz@scan@one@point\tikz@do@arcB}}}} + +\def\tikz@do@arcB#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}} + \tikz@make@last@position{#1}% + \edef\tikz@timer@end{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \iftikz@shapeborder + \edef\tikz@moveto@waiting{\tikz@shapeborder@name}% + \fi + \begingroup + \tikzset{every arc/.try,every arc to/.try,arc to/.expand once=\tikz@arcB@options}% + \pgfmathsetmacro\tikz@arc@x{\pgfkeysvalueof{/tikz/x radius}}% + \ifpgfmathunitsdeclared + \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% + \ifpgfmathunitsdeclared + \tikzext@pgfpatharcto{\tikz@arc@x pt}{\tikz@arc@y pt} + {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} + {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% + \else + \tikzerror{You cannot mix dimensions and dimension values in an arc}% + \fi + \else + \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% + \ifpgfmathunitsdeclared + \tikzerror{You cannot mix dimensions and dimension values in an arc}% + \else + \pgf@process{\pgfpointxy{\tikz@arc@x}{0}}% + \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% + \let\tikz@arc@x\pgfmathresult + \pgf@process{\pgfpointxy{0}{\tikz@arc@y}}% + \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% + \let\tikz@arc@y\pgfmathresult + \tikzext@pgfpatharcto{+\tikz@arc@x pt}{+\tikz@arc@y pt} + {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} + {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% + \fi + \fi + \endgroup + % check whether \pgf@marshall starts with \pgfpathlineto + \pgfutil@ifxempty\pgf@marshal{}{% + \edef\tikz@temp{\expandafter\expandafter\expandafter\noexpand\expandafter\pgfutil@firstgobblerest\pgf@marshal\relax}% + \expandafter\let\expandafter\tikz@temp\tikz@temp + \pgfutil@ifx\tikz@temp\pgfpathlineto{}{% + % getting rid of \pgfpatharcaxes inside \pgf@marshal + \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf@marshal + \expandafter\expandafter\expandafter{\expandafter\pgfutil@gobble\pgf@marshal}% + % extracting the other four values needed for the timer + \edef\tikz@timer@start@angle{\expandafter\pgfutil@firstoffour\pgf@marshal}% + \edef\tikz@timer@end@angle{\expandafter\pgfutil@secondoffour\pgf@marshal}% + \pgfextract@process\tikz@timer@zero@axis{\expandafter\pgfutil@thirdoffour\pgf@marshal}% + \pgfextract@process\tikz@timer@ninety@axis{\expandafter\pgfutil@fourthoffour\pgf@marshal}% + % + \let\tikz@timer=\tikz@timer@arc + }% + }% + \tikz@scan@next@command +} +\def\pgfutil@firstoffour#1#2#3#4{#1} +\def\pgfutil@secondoffour#1#2#3#4{#2} +\def\pgfutil@thirdoffour#1#2#3#4{#3} +\def\pgfutil@fourthoffour#1#2#3#4{#4} +\def\pgfutil@firstgobblerest#1#2\relax{#1} + +% original from pgfcorepathconstruct.code.tex +\def\tikzext@pgfpatharcto#1#2#3#4#5#6{% + {% + % The following code is based on the transformation described in svg + % 1.1 specification Section F.6.5 + % + % Step 1: store the simple parameters (xa=x1 since TeX does not + % allow numbers in names) + % + \pgfmathsetmacro\pgf@arcto@rx{abs(#1)}% + \pgfmathsetmacro\pgf@arcto@ry{abs(#2)}% + \ifdim\pgf@arcto@rx pt=0pt% special rule: zero radius=straight line + \gdef\pgf@marshal{\pgfpathlineto{#6}}% + \else + \ifdim\pgf@arcto@ry pt=0pt% special rule: zero radius=straight line + \gdef\pgf@marshal{\pgfpathlineto{#6}}% + \else + \pgfmathsetmacro\pgf@arcto@phi{#3}% + \pgfmathsetmacro\pgf@arcto@fA{#4}% + \ifdim\pgf@arcto@fA pt=0pt + \else + \pgfmathsetmacro\pgf@arcto@fA{1.0}% Special rule: every non-zero value is 1. + \fi + \pgfmathsetmacro\pgf@arcto@fS{#5}% + \ifdim\pgf@arcto@fS pt=0pt + \else + \pgfmathsetmacro\pgf@arcto@fS{1.0}% Special rule: every non-zero value is 1. + \fi + \pgf@process{#6}% + \edef\pgf@arcto@xb{\the\pgf@x}% + \edef\pgf@arcto@yb{\the\pgf@y}% + % + % Step 2: x1,y1 is more complicated to compute: It is given by lastx + % and lasty, but these are transformed coordinates, we need the + % untransformed ones. So, we inverse the transformation (arghh...) + % + \pgftransforminvert% + \pgf@process{\pgfpointtransformed{\pgfqpoint{\pgf@path@lastx}{\pgf@path@lasty}}}% + \edef\pgf@arcto@xa{\the\pgf@x}% + \edef\pgf@arcto@ya{\the\pgf@y}% + \edef\pgf@temp@a{\pgf@arcto@xa,\pgf@arcto@ya}% + \edef\pgf@temp@b{\pgf@arcto@xb,\pgf@arcto@yb}% + \ifx\pgf@temp@a\pgf@temp@b% special rule: skip! + \global\let\pgf@marshal\pgfutil@empty + \else + % + % Ok, now we got all the parameters setup. Now comes the + % computation... + % + % + % Step 3: Start with a new coordinate system and rotate everything + % by the negated phi. + % + \pgftransformreset + \pgftransformrotate{-\pgf@arcto@phi}% + % Ok, using \pgfpointtransformed we now get transformed points... + % + % Step 4: Compute x1' and y1' (xaprime and yaprime) + % + \pgf@process{% + \pgfpointtransformed{\pgfpointscale{.5}{\pgfpointdiff + {\pgfqpoint{\pgf@arcto@xb}{\pgf@arcto@yb}} + {\pgfqpoint{\pgf@arcto@xa}{\pgf@arcto@ya}}% + }% + }% + }% + \edef\pgf@arcto@xaprime{\pgf@sys@tonumber\pgf@x}% + \edef\pgf@arcto@yaprime{\pgf@sys@tonumber\pgf@y}% + % + % Compute Lambda + % + \pgfmathsetmacro\pgf@arcto@frac@x{\pgf@arcto@xaprime/\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@frac@y{\pgf@arcto@yaprime/\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@lambda{ + \pgf@arcto@frac@x*\pgf@arcto@frac@x+\pgf@arcto@frac@y*\pgf@arcto@frac@y + }% + \ifdim\pgf@arcto@lambda pt>1pt + \pgfmathsetmacro\pgf@arcto@sqrt@lambda{sqrt(\pgf@arcto@lambda)}% + \pgfmathsetmacro\pgf@arcto@rx{\pgf@arcto@sqrt@lambda*\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@ry{\pgf@arcto@sqrt@lambda*\pgf@arcto@ry}% + \fi + % + % Do some scaling + % + \pgfmathsetmacro\pgf@arcto@xaprime@abs{abs(\pgf@arcto@xaprime)}% + \pgfmathsetmacro\pgf@arcto@yaprime@abs{abs(\pgf@arcto@yaprime)}% + \pgfmathmax@{\pgf@arcto@rx,\pgf@arcto@ry,\pgf@arcto@xaprime@abs,\pgf@arcto@yaprime@abs}% + \pgfmathsetmacro\pgf@arcto@scaling{20/\pgfmathresult}% + \pgfmathsetmacro\pgf@arcto@rx@scaled{\pgf@arcto@scaling*\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@ry@scaled{\pgf@arcto@scaling*\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@xaprime@scaled{\pgf@arcto@scaling*\pgf@arcto@xaprime}% + \pgfmathsetmacro\pgf@arcto@yaprime@scaled{\pgf@arcto@scaling*\pgf@arcto@yaprime}% + % + % Step 5: Now comes the messy computation of c1' and c2'. + % + \ifdim\pgf@arcto@rx pt>\pgf@arcto@ry pt + \pgfmathsetmacro\pgf@arcto@rx@over@ry{\pgf@arcto@rx/\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@ry@over@rx{\pgf@arcto@ry/\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@temp{\pgf@arcto@ry@over@rx*\pgf@arcto@xaprime@scaled}% + \pgfmathsetmacro\pgf@arcto@numerator{ + \pgf@arcto@ry@scaled*\pgf@arcto@ry@scaled- + \pgf@arcto@yaprime@scaled*\pgf@arcto@yaprime@scaled- + \pgf@arcto@temp*\pgf@arcto@temp + }% + \pgfmathsetmacro\pgf@arcto@denominator{ + \pgf@arcto@yaprime@scaled*\pgf@arcto@yaprime@scaled+ + \pgf@arcto@temp*\pgf@arcto@temp + }% + \else + \pgfmathsetmacro\pgf@arcto@rx@over@ry{\pgf@arcto@rx/\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@ry@over@rx{\pgf@arcto@ry/\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@temp{\pgf@arcto@rx@over@ry*\pgf@arcto@yaprime@scaled}% + \pgfmathsetmacro\pgf@arcto@numerator{ + \pgf@arcto@rx@scaled*\pgf@arcto@rx@scaled- + \pgf@arcto@xaprime@scaled*\pgf@arcto@xaprime@scaled- + \pgf@arcto@temp*\pgf@arcto@temp + }% + \pgfmathsetmacro\pgf@arcto@denominator{ + \pgf@arcto@xaprime@scaled*\pgf@arcto@xaprime@scaled+ + \pgf@arcto@temp*\pgf@arcto@temp + }% + \fi + \pgfmathsetmacro\pgf@arcto@frac{ + \pgf@arcto@numerator/\pgf@arcto@denominator + }% + \ifdim\pgf@arcto@frac pt<0pt + \pgfmathsetmacro\pgf@arcto@factor{0}% + \else + \pgfmathsetmacro\pgf@arcto@factor{sqrt(\pgf@arcto@frac)}% + \fi + \ifx\pgf@arcto@fA\pgf@arcto@fS + \pgfmathsetmacro\pgf@arcto@factor{-\pgf@arcto@factor}% + \fi + \pgfmathsetmacro\pgf@arcto@cxprime{ + \pgf@arcto@factor*\pgf@arcto@rx@over@ry*\pgf@arcto@yaprime + }% + \pgfmathsetmacro\pgf@arcto@cyprime{ + -\pgf@arcto@factor*\pgf@arcto@ry@over@rx*\pgf@arcto@xaprime + }% + % + % Step 6: Ok, now compute cx,cy + % + \pgftransformreset + \pgftransformrotate{\pgf@arcto@phi}% + \pgf@process{% + \pgfpointtransformed{\pgfqpoint{\pgf@arcto@cxprime pt}{\pgf@arcto@cyprime pt}}% + }% + \edef\pgf@arcto@temp{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \pgf@process{\pgfpointadd{\pgf@arcto@temp}{% + \pgfpointscale{.5}{% + \pgfpointadd + {\pgfqpoint{\pgf@arcto@xa}{\pgf@arcto@ya}} + {\pgfqpoint{\pgf@arcto@xb}{\pgf@arcto@yb}}}% + }% + }% + \edef\pgf@arcto@cx{\the\pgf@x}% + \edef\pgf@arcto@cy{\the\pgf@y}% + % + % Step 7: Compute start angle: + % + \pgfmathsetmacro\pgf@arcto@vec@x{(\pgf@arcto@xaprime-\pgf@arcto@cxprime)/\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@vec@y{(\pgf@arcto@yaprime-\pgf@arcto@cyprime)/\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@denominator{veclen(\pgf@arcto@vec@x,\pgf@arcto@vec@y)}% + \pgfmathsetmacro\pgf@arcto@frac{\pgf@arcto@vec@x/\pgf@arcto@denominator}% + \pgfmathsetmacro\pgf@arcto@theta@start{acos(\pgf@arcto@frac)}% + \ifdim\pgf@arcto@vec@y pt<0pt + \pgfmathsetmacro\pgf@arcto@theta@start{-\pgf@arcto@theta@start}% + \fi + % + % Step 8: Compute end angle: + % + \pgfmathsetmacro\pgf@arcto@vec@x{(-\pgf@arcto@xaprime-\pgf@arcto@cxprime)/\pgf@arcto@rx}% + \pgfmathsetmacro\pgf@arcto@vec@y{(-\pgf@arcto@yaprime-\pgf@arcto@cyprime)/\pgf@arcto@ry}% + \pgfmathsetmacro\pgf@arcto@denominator{veclen(\pgf@arcto@vec@x,\pgf@arcto@vec@y)}% + \pgfmathsetmacro\pgf@arcto@frac{\pgf@arcto@vec@x/\pgf@arcto@denominator}% + \pgfmathsetmacro\pgf@arcto@theta@end{acos(\pgf@arcto@frac)}% + \ifdim\pgf@arcto@vec@y pt<0pt + \pgfmathsetmacro\pgf@arcto@theta@end{-\pgf@arcto@theta@end}% + \fi + \pgfmathsetmacro\pgf@arcto@delta@theta{abs(\pgf@arcto@theta@start-\pgf@arcto@theta@end)}% + \ifdim\pgf@arcto@fA pt=0pt + \ifdim\pgf@arcto@delta@theta pt>180pt + % Ok, we need to adjust the angle! + \ifdim\pgf@arcto@theta@end pt>\pgf@arcto@theta@start pt + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end-360}% + \else + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end+360}% + \fi + \fi + \else + \ifdim\pgf@arcto@delta@theta pt<180pt + % Ok, we need to adjust the angle! + \ifdim\pgf@arcto@theta@end pt>\pgf@arcto@theta@start pt + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end-360}% + \else + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end+360}% + \fi + \fi + \fi + % Qrr: + % make sure direction is properly followed + \ifdim\pgf@arcto@fS pt=1pt + % counter clockwise + \ifdim\pgf@arcto@theta@end pt<\pgf@arcto@theta@start path + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end+360}% + \fi + \else + % clockwise + \ifdim\pgf@arcto@theta@end pt>\pgf@arcto@theta@start path + \pgfmathsetmacro\pgf@arcto@theta@end{\pgf@arcto@theta@end-360}% + \fi + \fi + \xdef\pgf@marshal{\noexpand + \pgfpatharcaxes{\pgf@arcto@theta@start}{\pgf@arcto@theta@end} + {\noexpand\pgfpointpolar{\pgf@arcto@phi}{\pgf@arcto@rx}} + {\noexpand\pgfpointpolar{\pgf@arcto@phi+90}{\pgf@arcto@ry}}% + }% + \fi\fi\fi + }% + \pgf@marshal +}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.ortho.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex index e7a3b02ed7..9740c39cc2 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.ortho.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex @@ -51,14 +51,13 @@ %%% HVVH/UDLR \tikzset{% - hvvh/.code={\pgfqkeys{/tikz/hvvh}{#1}},% - udlr/.code={\pgfqkeys{/tikz/udlr}{#1}},% - hvvh/.search also=/tikz,% - udlr/.search also=/tikz,% - hvvh/middle 0 to 1/.style={hvvh/spacing=0},% - hvvh/from center/.is if=tikzext@tikz@hvvh@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, + ortho/.code=\pgfqkeys{/tikz/ortho}{#1}, + hvvh/.code=\pgfqkeys{/tikz/ortho}{#1},% + udlr/.code=\pgfqkeys{/tikz/ortho}{#1},% + ortho/.search also=/tikz, + ortho/middle 0 to 1/.style={/tikz/ortho/spacing=0},% + ortho/from center/.is if=tikzext@tikz@hvvh@fromcenter,% + ortho/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\tikzext@tikz@hvvh@timing@parts\pgfmathresult% in case they are calculations to be done \ifcase\tikzext@tikz@hvvh@timing@parts\relax @@ -76,20 +75,20 @@ \let\tikzext@tikz@hvvh@timing@subtr\pgfmathresult \pgfmathsetmacro\tikzext@tikz@hvvh@timing@factor{1+2*\pgfmathresult}% \fi,% - hvvh/ratio/.code=\pgfmathsetmacro\tikzext@tikz@hvvh@ratio{#1},% + ortho/ratio/.code=\pgfmathsetmacro\tikzext@tikz@hvvh@ratio{#1},% % TODO: not possible to do distance in TikZ coordinate system - hvvh/distance/.code=\pgfmathsetlength\tikzext@tikz@hvvh@distance{#1}\let\tikzext@tikz@hvvh@ratio\pgfutil@empty,% - udlr/distance/.style={% - /tikz/udlr/ud distance={#1},% - /tikz/udlr/du distance={#1},% - /tikz/udlr/lr distance={#1},% - /tikz/udlr/rl distance={#1}},% - udlr/ud distance/.initial=+.5cm,% - udlr/du distance/.initial=+.5cm,% - udlr/lr distance/.initial=+.5cm,% - udlr/rl distance/.initial=+.5cm,% - hvvh/ratio=.5,% default value - hvvh/spacing=4,% default value + ortho/distance/.code=\pgfmathsetlength\tikzext@tikz@hvvh@distance{#1}\let\tikzext@tikz@hvvh@ratio\pgfutil@empty,% + ortho/udlr distance/.style={% + /tikz/ortho/ud distance={#1},% + /tikz/ortho/du distance={#1},% + /tikz/ortho/lr distance={#1},% + /tikz/ortho/rl distance={#1}},% + ortho/ud distance/.initial=+.5cm,% + ortho/du distance/.initial=+.5cm,% + ortho/lr distance/.initial=+.5cm,% + ortho/rl distance/.initial=+.5cm,% + ortho/ratio=.5,% default value + ortho/spacing=4,% default value }% %BEGIN_FOLD Timer @@ -207,7 +206,7 @@ \tikz@make@last@position{#1}% \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\pgf@yc}}\pgf@xc\pgf@yc \begingroup - \pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% \iftikz@shapeborder \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@xb}{\tikz@lasty}}}% \iftikzext@tikz@hvvh@fromcenter @@ -277,7 +276,7 @@ \tikz@make@last@position{#1}% \tikz@flush@moveto@toward{\pgfqpoint{\pgf@xc}{\tikz@lasty}}\pgf@xc\pgf@yc \begingroup - \pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% \iftikz@shapeborder \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\tikz@lastx}{\pgf@yb}}}% \iftikzext@tikz@hvvh@fromcenter @@ -348,8 +347,8 @@ \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc \tikz@make@last@position{#1}% \begingroup - \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% - \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/ud distance}}% + \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/ortho/ud distance}}% \iftikz@shapeborder \advance\pgf@y1pt% \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% @@ -399,8 +398,8 @@ \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc \tikz@make@last@position{#1}% \begingroup - \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% - \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/du distance}}% + \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/ortho/du distance}}% \iftikz@shapeborder \advance\pgf@y-1pt% \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% @@ -450,8 +449,8 @@ \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc \tikz@make@last@position{#1}% \begingroup - \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% - \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/lr distance}}% + \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/ortho/lr distance}}% \iftikz@shapeborder \advance\pgf@x-1pt% \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% @@ -501,8 +500,8 @@ \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc \tikz@make@last@position{#1}% \begingroup - \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% - \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/rl distance}}% + \pgfqkeys{/tikz/udlr}{/tikz/ortho/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\tikzext@tikz@udlr@distance{\pgfkeysvalueof{/tikz/ortho/rl distance}}% \iftikz@shapeborder% \advance\pgf@x1pt% \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% @@ -546,6 +545,16 @@ \tikzset{ node as new start/.is if=tikzext@ortho@preflush, node as new start, + ortho/install shortcuts/.style={ + *|/.style={only vertical second={#1}}, *|/.default=, + |*/.style={only vertical first={#1}}, |*/.default=, + *-/.style={only horizontal second={#1}}, *-/.default=, + -*/.style={only horizontal first={#1}}, -*/.default=, + |-/.style={to path={|-(\tikztotarget)\tikztonodes}}, + -|/.style={to path={-|(\tikztotarget)\tikztonodes}}, + -|-/.style=/tikz/horizontal vertical horizontal, + |-|/.style=/tikz/vertical horizontal vertical, + }, horizontal vertical/.style={to path={-| (\tikztotarget) \tikztonodes}}, vertical horizontal/.style={to path={|- (\tikztotarget) \tikztonodes}}, horizontal vertical horizontal/.style={to path={-|- (\tikztotarget) \tikztonodes}}, @@ -611,10 +620,11 @@ \let\tikzext@ortho@anchor\pgfutil@empty \let\tikzext@origtotarget\pgfutil@empty \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \pgf@ya=\pgf@y \iftikz@shapeborder \let\tikzext@origtotarget\tikztotarget \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax - \ifdim\pgf@y>\tikz@lasty\relax + \ifdim\pgf@ya>\tikz@lasty\relax \edef\tikztotarget{\tikztotarget.south}% \iftikz@shapeborder\def\tikzext@ortho@anchor{.north}\fi \else @@ -640,10 +650,11 @@ \let\tikzext@ortho@anchor\pgfutil@empty \let\tikzext@origtotarget\pgfutil@empty \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \pgf@xa=\pgf@x \iftikz@shapeborder \let\tikzext@origtotarget\tikztotarget \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax - \ifdim\pgf@x>\tikz@lastx\relax + \ifdim\pgf@xa>\tikz@lastx\relax \edef\tikztotarget{\tikztotarget.west}% \iftikz@shapeborder\def\tikzext@ortho@anchor{.east}\fi \else diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.timer.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex index 3a4d30e68f..3a4d30e68f 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.timer.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.patterns.images.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex index aa732ab835..aa732ab835 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.patterns.images.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.positioning-plus.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex index 98de181c27..98de181c27 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.positioning-plus.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex index d90a2edc78..d90a2edc78 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.transformations.mirror.code.tex b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex index 026b39ab2f..026b39ab2f 100644 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.transformations.mirror.code.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex diff --git a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.sty b/graphics/pgf/contrib/tikz-ext/tex/latex/tikz-ext/pgfcalendar-ext.sty index a0f5ef3bc0..a0f5ef3bc0 100644 --- a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.sty +++ b/graphics/pgf/contrib/tikz-ext/tex/latex/tikz-ext/pgfcalendar-ext.sty diff --git a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.tex b/graphics/pgf/contrib/tikz-ext/tex/plain/tikz-ext/pgfcalendar-ext.tex index 30c44187a4..30c44187a4 100644 --- a/graphics/pgf/contrib/tikz-ext/pgfcalendar-ext.tex +++ b/graphics/pgf/contrib/tikz-ext/tex/plain/tikz-ext/pgfcalendar-ext.tex diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.arcto.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.arcto.code.tex deleted file mode 100644 index 213fc1b74a..0000000000 --- a/graphics/pgf/contrib/tikz-ext/tikzlibraryext.paths.arcto.code.tex +++ /dev/null @@ -1,104 +0,0 @@ -% 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. -% -\tikzset{ - arc to/.code=\pgfqkeys{/tikz/arc to}{#1}, - arc to={ - counter clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{1}, - clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{0}, - x radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}, - y radius/.code=\pgfkeyssetvalue{/tikz/y radius}{#1}, - radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}\pgfkeyssetvalue{/tikz/y radius}{#1}, - large/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{1}, - small/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{0}, - % defaults - rotate/.initial=0, counter clockwise, small, - counter clockwise/.value forbidden, - clockwise/.value forbidden, - large/.value forbidden, - small/.value forbidden}} -\def\tikz@arcA rc{\pgfutil@ifnextchar t% - {\tikz@flush@moveto\expandafter\expandafter\expandafter\tikz@arcB@cont\expandafter\pgfutil@gobble\pgfutil@gobble} - {\tikz@flush@moveto\tikz@arc@cont}} -\def\tikz@arcB@cont{% - \pgfutil@ifnextchar[\tikz@@do@arcB{ - \advance\tikz@expandcount by -10\relax% go down quickly - \ifnum\tikz@expandcount<0\relax% - \def\@next{\tikz@@do@arcB[]}% - \else% - \def\@next{\expandafter\tikz@arcB@cont}% - \fi% - \@next}}% -\def\tikz@@do@arcB[#1]{% - \def\tikz@arcB@options{#1}% - \tikz@do@@arcB} -\def\tikz@do@@arcB{% - \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@do@@arcB} - {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\tikz@do@@arcB} - {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\tikz@do@@arcB} - {\tikz@scan@one@point\tikz@do@arcB}}}} - -\def\tikz@do@arcB#1{% - \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}} - \tikz@make@last@position{#1}% - \edef\tikz@timer@end{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% - \iftikz@shapeborder - \edef\tikz@moveto@waiting{\tikz@shapeborder@name}% - \fi - \begingroup - \tikzset{every arc/.try,every arc to/.try,arc to/.expand once=\tikz@arcB@options}% - \pgfmathsetmacro\tikz@arc@x{\pgfkeysvalueof{/tikz/x radius}}% - \ifpgfmathunitsdeclared - \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% - \ifpgfmathunitsdeclared - \pgfpatharcto{\tikz@arc@x pt}{\tikz@arc@y pt} - {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} - {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% - \else - \tikzerror{You cannot mix dimensions and dimension values in an arc}% - \fi - \else - \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% - \ifpgfmathunitsdeclared - \tikzerror{You cannot mix dimensions and dimension values in an arc}% - \else - \pgf@process{\pgfpointxy{\tikz@arc@x}{0}}% - \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% - \let\tikz@arc@x\pgfmathresult - \pgf@process{\pgfpointxy{0}{\tikz@arc@y}}% - \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% - \let\tikz@arc@y\pgfmathresult - \pgfpatharcto{+\tikz@arc@x pt}{+\tikz@arc@y pt} - {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} - {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% - \fi - \fi - \endgroup - % check whether \pgf@marshall starts with \pgfpathlineto - \pgfutil@ifxempty\pgf@marshal{}{% - \edef\tikz@temp{\expandafter\expandafter\expandafter\noexpand\expandafter\pgfutil@firstgobblerest\pgf@marshal\relax}% - \expandafter\let\expandafter\tikz@temp\tikz@temp - \pgfutil@ifx\tikz@temp\pgfpathlineto{}{% - % getting rid of \pgfpatharcaxes inside \pgf@marshal - \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf@marshal - \expandafter\expandafter\expandafter{\expandafter\pgfutil@gobble\pgf@marshal}% - % extracting the other four values needed for the timer - \edef\tikz@timer@start@angle{\expandafter\pgfutil@firstoffour\pgf@marshal}% - \edef\tikz@timer@end@angle{\expandafter\pgfutil@secondoffour\pgf@marshal}% - \pgfextract@process\tikz@timer@zero@axis{\expandafter\pgfutil@thirdoffour\pgf@marshal}% - \pgfextract@process\tikz@timer@ninety@axis{\expandafter\pgfutil@fourthoffour\pgf@marshal}% - % - \let\tikz@timer=\tikz@timer@arc - }% - }% - \tikz@scan@next@command -} -\def\pgfutil@firstoffour#1#2#3#4{#1} -\def\pgfutil@secondoffour#1#2#3#4{#2} -\def\pgfutil@thirdoffour#1#2#3#4{#3} -\def\pgfutil@fourthoffour#1#2#3#4{#4} -\def\pgfutil@firstgobblerest#1#2\relax{#1}
\ No newline at end of file |