texlive[74934] Master/texmf-dist: tikz-ext (13apr25)
commits+karl at tug.org
commits+karl at tug.org
Sun Apr 13 22:30:27 CEST 2025
Revision: 74934
https://tug.org/svn/texlive?view=revision&revision=74934
Author: karl
Date: 2025-04-13 22:30:27 +0200 (Sun, 13 Apr 2025)
Log Message:
-----------
tikz-ext (13apr25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-arrows-plus.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-pgf-arrows.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-uncentered.tex
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.pdf
trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.arrows.code.tex
trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzext-util.tex
trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.arrows-plus.code.tex
trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.nodes.code.tex
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-beamer.tex
trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.beamer.code.tex
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/README.md 2025-04-13 20:30:27 UTC (rev 74934)
@@ -12,42 +12,41 @@
This is not a LaTeX package but a collection of libraries for PGF and TikZ;
- * `ext.arrows` provides additional arrow tips.
- * Many of the standard `arrows.meta` library's get “Centered” and “Untipped” alternative.
- * Furthermore, the arrow tips `ext_Hug Cap` for connecting circles neatly and `ext_Loop` are provided.
- * `ext.arrows-plus` allows to place arrow tips along a path.
-
- These can either be placed via pics *along* a path operation (`ext/arrow`, `ext/softpath arrows` and `ext/softpath arrow`)
- or via keys ( `ext/arc arrows` and `ext/softpath arrows`) along a previous arc or any path segment.
- All except the `ext/arrow` key support the bending of arrow tips.
+* `ext.arrows` provides additional arrow tips.
+ * Many of the standard `arrows.meta` library's tips get “Centered” and “Untipped” variants.
+ * Additional arrow tips: `ext_Hug Cap`, `ext_Loop`, `ext_Double Cap`, `ext_Double Stealth`, `ext_Double Triangle`.
+* `ext.arrows-plus` allows to place arrow tips along a path.
+ * via pics *along* a path operation (`ext/arrow`, `ext/softpath arrows` and `ext/softpath arrow`)
+ * via keys ( `ext/arc arrows` and `ext/softpath arrows`) along a previous arc or any path segment.
+ * All except the `ext/arrow` key support the bending of arrow tips.
+ * The `\arrow` command of the `decorations.markings` library has alternatives `\arrow*` and `\arrow**` for shifting and shifting/bending.
+* `ext.beamer` provides better Beamer support for TikZ.
+* `ext.calendar-plus` extends the `calendar` library with more tests, week numbers and a few goodies.
+ * The already defined keys `day xshift`, `day yshift`, `month xshift` and `month yshift` are now proper value-keys and can be accessed without having to use an `@`-riddled macro name.
+ * The `if` key is nestable.
+ * Via the `pgfcalendar-ext` package more conditionals are available, also week numbering according to ISO 8601 is supported.
+* `ext.layers` allows to put nodes etc on a separate layer without having to use `pgfonlayer`.
+* `ext.misc` which includes
+ * the PGFKeys library `ext.pgfkeys-plus` and
+ * the PGFFor extension `pgffor-ext`.
+* `ext.node-families` uses the AUX file to sync the sizes of nodes.
+ * `ext.node-families.shapes.geometric`
+* `ext.nodes` extends the functionalities around nodes.
+* `ext.paths.arcto` implements a `arc to` path operation to construct an arc *to* a point.
+* `ext.paths.ortho` provides orthogonal path operations `-|-`, `|-|`, `r-rl`, `r-lr`, `r-du` and `r-ud`.
+* `ext.paths.timer` adds timers to the path operations `rectangle`, `parabola`, `sin` and `cos`.
+* `ext.patterns.images` allows images to be used as a path‘s pattern.
+* `ext.positioning-plus` adds more ways to position nodes in reference to each other.
+* `ext.scalepicture` scales a TikZ picture to the desired dimensions.
+* Shapes:
+ * `ext.shapes.circlearrow`
+ * `ext.shapes.circlecrosssplit`
+ * `ext.shapes.heatmark`
+ * `ext.shapes.rectangleroundedcorners`
+ * `ext.shapes.superellipse`
+ * `ext.shapes.uncenteredrectangle`
+* `ext.topaths.arcthrough` installs a `to path` that expects a third point that defines an arc.
+* `ext.topaths.autobend` implements various `to path`s that bend in a specific direction instead of left or right.
+* `ext.transformations.mirror` adds transformations that reflect on arbitrary lines.
- The `\arrow` command of the `decorations.markings` library has alternatives `\arrow*` and `\arrow**` for shifting and shifting/bending.
-
- * `ext.calendar-plus` extends the `calendar` library with more tests, week numbers and a few goodies.
- * The already defined keys `day xshift`, `day yshift`, `month xshift` and `month yshift` are now proper value-keys and can be accessed wtithout having to use an `@`-riddled macro name.
- * The `if` key is nestable.
- * Via the `pgfcalendar-ext` package more conditionals are available, also week numbering according to ISO 8601 is supported.
- * `ext.layers` allows to put nodes etc on a separate layer without having to use `pgfonlayer`.
- * `ext.nodes` extends the functionalities around nodes.
- * `ext.node-families` uses the AUX file to sync the sizes of nodes.
- * `ext.node-families.shapes.geometric`
- * `ext.paths.arcto` uses `\pgfpatharcto` to construct an arc *to* a point.
- * `ext.paths.ortho` provides orthogonal path operations `-|-`, `|-|`, `r-rl`, `r-lr`, `r-du` and `r-ud`.
- * `ext.paths.timer` adds timers to `rectangle`, `parabola`, `sin` and `cos`.
- * `ext.patterns.images` allows images to be used as a path‘s pattern.
- * `ext.positioning-plus` adds more ways to position nodes in reference to each other.
- * `ext.scalepicture` scales a TikZ picture to the desired dimensions.
- * `ext.topaths.arcthrough` installs a `to path` that expects a third point that defines an arc.
- * `ext.transformations.mirror` adds transformations that reflect on arbitrary lines.
- * `ext.misc` which includes
- * the PGFKeys library `ext.pgfkeys-plus` and
- * the PGFFor extension `pgffor-ext`.
- * Shapes:
- * `ext.shapes.circlearrow`
- * `ext.shapes.circlecrosssplit`
- * `ext.shapes.heatmark`
- * `ext.shapes.rectangleroundedcorners`
- * `ext.shapes.superellipse`
- * `ext.shapes.uncenteredrectangle`
-
- These were developed in response to questions on tex.stackexchange.com or texwelt.de.
+These were developed in response to questions on tex.stackexchange.com or texwelt.de.
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-arrows-plus.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-arrows-plus.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-arrows-plus.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -32,7 +32,12 @@
This is an alias for \referenceKeyandIndex{pos},
if an end arrow tip sequence is provided, it is placed at this position.
\end{key}
-
+\begin{key}{/\tikzext/pos < angle=\meta{angle}}
+For tips along an arc the angle along that arc can be specified for the start tip sequence.
+\end{key}
+\begin{key}{/\tikzext/pos > angle=\meta{angle}}
+For tips along an arc the angle along that arc can be specified for the end tip sequence.
+\end{key}
\begin{key}{/\tikzext/arrow shift mode=\meta{shift mode} (initially total length)}
This key is used to set the \meta{shift mode} for the arrow tip.
It can be one of the following.
@@ -78,12 +83,19 @@
The result of this evaluation is used to shift the arrow tip sequence
in the tip's direction.
-\begin{key}{/\tikzext/arrow shift factor=\meta{value} (initially 0.5)}
- This determines the shift factor.
+\begin{key}{/\tikzext/arrow shift factor start=\meta{value} (initially 0.5)}
+ This determines the shift factor for the start tip sequence.
The default value is probably good for most cases.
\end{key}
-
+\begin{key}{/\tikzext/arrow shift factor end=\meta{value} (initially 0.5)}
+ This determines the shift factor for the start tip sequence.
+
+ The default value is probably good for most cases.
+\end{key}
+\begin{key}{/\tikzext/arrow shift factor=\meta{value}}
+ This sets both the start and end shift factor.
+\end{key}
\subsection{Arrow pic types}
This library provides the following pics:
@@ -139,7 +151,7 @@
This obviously is best used as a pic along a path segment that supports it.
It \emph{does not} support bended arrow tips.
-\begin{codeexample}[preamble=\usetikzlibrary{bending, ext.arrows-plus}]
+\begin{codeexample}[preamble=\usetikzlibrary{arrows.meta, bending, ext.arrows-plus}]
\begin{tikzpicture}[>={Triangle[color=red]}, arrows={[bend]}, ultra thick]
\ttfamily
\foreach[count=\y] \shiftmode in {off, total length, length until line end}
@@ -161,10 +173,24 @@
It supports the |pos <| key.
\paragraph{Note:} For arcs with an angle greater than 90${}^\circ$
- this will not work as expected. Use the |arc arrows| key instead.
+ this will not work as expected. Use the |/tikz/ext/arc arrows| key instead.
\end{pictype}
\begin{pictype}{ext/softpath arrow}{\opt{|=|\meta{\rmfamily end tip specification}}}
This pic type is an alias for |softpath arrows = -|\meta{end tip specification}.
+
+\begin{codeexample}[preamble=\usetikzlibrary{arrows.meta, bending, ext.arrows-plus}]
+\begin{tikzpicture}[>={Triangle[color=red]}, arrows={[bend]}, ultra thick]
+\ttfamily
+\foreach[count=\y] \shiftmode in {off, total length, length until line end}
+ \draw[ext/arrow shift mode=\shiftmode] (0, -\y )
+ to[bend left] pic {ext/softpath arrow=>} ++(right:2)
+ to[bend left] pic {ext/softpath arrow=>>.>} ++(right:2)
+ node[below right] {\shiftmode}
+ ++(down:.4) to[bend right] pic {ext/softpath arrow=>>.>} ++( left:2)
+ to[bend right] pic {ext/softpath arrow=>} ++( left:2);
+\draw[thin, gray] (1,-.5) -- +(down:3) (3,-.5) -- +(down:3);
+\end{tikzpicture}
+\end{codeexample}
\end{pictype}
\subsection{Arrow keys}
@@ -175,6 +201,11 @@
\begin{stylekey}{/\tikzext/every softpath arrows (initially \{\})}
This style will be applied for every instance of |softpath arrows| (key version, not the pic).
+It also sets up forwarding
+\begin{itemize}
+ \item from |/tikz/pos >| to |/tikz/ext/pos >| and
+ \item from |/tikz/pos <| to |/tikz/ext/pos >|.
+\end{itemize}
\end{stylekey}
\end{key}
@@ -183,8 +214,28 @@
This key adds arrow tips to the previous arc segment.
\begin{stylekey}{/\tikzext/every arc arrows (initially \{\})}
This style will be applied for every instance of |arc arrows|.
+It also sets up forwarding
+\begin{itemize}
+ \item from |/tikz/pos >| to |/tikz/ext/pos >|,
+ \item from |/tikz/pos <| to |/tikz/ext/pos >| as well as
+ \item from |/tikz/pos > angle| to |/tikz/ext/pos > angle| and
+ \item from |/tikz/pos < angle| to |/tikz/ext/pos < angle|.
+\end{itemize}
+\begin{codeexample}[preamble=\usetikzlibrary{arrows.meta, ext.arrows-plus}]
+\begin{tikzpicture}
+\draw (0,0) -- (135:1)
+ (0,0) -- (225:1) [help lines];
+\draw[arrows={[bend] Stealth-Latex}]
+ (120:1) arc[start angle=120,
+ end angle=240, radius=1]
+ [ext/arc arrows={pos < angle=135,
+ pos > angle=225,
+ arrows=[red]}];
+\end{tikzpicture}
+\end{codeexample}
\end{stylekey}
+
\paragraph{Tip:}
Use an arc with the full 360${}^\circ$ to place bended arrow tips along a circle or an ellipse.
\end{key}
Added: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-beamer.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-beamer.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-beamer.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -0,0 +1,240 @@
+% !TeX TS-program = lualatex
+% !TeX spellcheck = en_US
+% !TeX root = tikz-ext-manual.tex
+% Copyright 2025 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{Beamer with \tikzname}
+\label{tikzlibrary:beamer}
+\begin{tikzlibrary}{ext.beamer}
+ This library can help create \tikzname\ diagrams in the class Beamer\indexPackageO{beamer}.
+\end{tikzlibrary}
+
+%\begin{multicols*}{2}
+\subsection{Helpers}
+These helpers are always available, even if this library is loaded outside of Beamer.
+\begin{key}{/\tikzext/ignore line width}
+If this key is used on a scope (or the \tikzname\ picture itself),
+the line widths of paths will not contribute to the bounding box
+of the diagram.
+\end{key}
+\begin{key}{/\tikzext/max bounding box=\meta{name}}
+This key is to be used on multiple |tikzpicture| environments.
+All \tikzname\ diagram with the same \meta{name} will have the same bounding box.
+Refrain from using (unprotected) commas (|,|) in the \meta{name}.
+
+This uses the \filetype{aux} file and
+is therefore incompatible with the \referenceLibraryandIndexO{external} library.
+
+However, it is made compatible with the
+\referencePackageandIndexO{memoize} \cite{memoize} package,
+even if it takes a few compilations until it is stable again
+after a new diagram is added to the group.
+\end{key}
+
+\subsection{Beamer}
+While \tikzname\ has some rudimentary support for the |beamer| class,
+i.\,e. in the form of \texttt{\string\path<}\meta{overlay specification}\texttt{>},
+this uses Beamer's |\alt| command internally so that on overlays
+that are not included in \meta{overlay specification}, the path will not be typeset
+and will therefore not contribute to the diagram's bounding box.
+
+This in turn will lead to the diagram \enquote{jumping around}
+as every overlay will contain a different diagram with different dimensions.
+The \referencePackageandIndexO{aobs-tikz} package solves this by setting the |opacity| to zero
+for all those slides an element shouldn't be visisble on.
+
+I believe we can do better.
+
+Though, remember that for many simple diagrams,
+you can simply use \referenceCommandandIndexO{\onslide}.
+The following diagram will show
+\begin{itemize}
+\item nodes and edges transparent on overlay 1,
+\item nodes fully visible and edges transparent on overlay 2 and
+\item all elements fully visible on overlay 3.
+\end{itemize}
+\begin{codeexample}[preamble=\usetikzlibrary{ext.beamer} \setbeamercovered{transparent},code only]
+\begin{tikzpicture}
+\onslide<2->
+\path node (a) {A}
+ node (b) at (1,2) {B};
+\onslide<3->
+\path (a) edge[bend right] (b);
+\onslide
+\end{tikzpicture}
+\end{codeexample}
+\subsubsection{Stop Jumping}
+One solution to this is to have the same \tikzname\ diagram
+have the same size on every overlay.
+The |/tikz/ext/ignore line width| might help if all that changes between overlays
+is the line width of elements.
+
+Another one is the following key.
+\begin{key}{/\tikzext/sync bounding box}
+This key uses |ext/max bounding box| with a specific \meta{name}
+that is stable across overlays.
+
+If you find yourself often rearrange diagrams or changing overlays,
+you might be better off using the |ext/sync bounding box| key
+directly with a distinct \meta{name}.
+\end{key}
+
+\subsubsection{Beamer Function and keys}
+\begin{key}{/\tikzext/beamer function=\mchoice{original, alt, only, uncover, visible, invisible}}
+This key changes how the \meta{overlay specification} in
+\texttt{\string\path<}\meta{overlay specification}\texttt{>}
+is applied internally.
+The choices |original|, |alt| and |only| are all the same
+and will result in the default behavior of \tikzname.
+
+The same overlays as above can be created now with the following diagram.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.beamer} \setbeamercovered{transparent},code only]
+\begin{tikzpicture}[ext/beamer function=uncover]
+\path<2-> node (a) {A}
+ node (b) at (1,2) {B};
+\path<3-> (a) edge[bend right] (b);
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
+
+\begin{keylist}[/\tikzext]{%
+ uncover=\meta{overlay specification} (default all),
+ cover=\meta{overlay specification} (default all),
+ visible=\meta{overlay specification} (default all),
+ invisible=\meta{overlay specification} (default all)%
+}
+These keys work similar to Beamer's own |\onslide| command
+but only apply to the element it is used on.
+
+The implementation of this is rather experimental and should be used carefully.
+Multiple uses of these options \emph{don't} stack, only the last one wins --
+this includes the use of the first syntax shorcuts introduced
+in the next subsubsection.
+
+The same overlays as above can be created with the first of the following diagram.
+In the second diagram |ext/uncover| is only used on the (actual) empty path.
+Just like |draw|/|\draw|, the nodes will not observe the request to be covered on overlay 1.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.beamer} \setbeamercovered{transparent},code only]
+\begin{tikzpicture}
+\path[nodes={ext/uncover=2-}]
+ node (a) {A}
+ node (b) at (1,2) {B}
+ (a) edge[bend right, ext/uncover=3-] (b);
+\end{tikzpicture}
+\begin{tikzpicture}
+\draw[ext/uncover=2-]
+ node (a) {A}
+ node (b) at (1,2) {B};
+\end{tikzpicture}
+\end{codeexample}
+\end{keylist}
+\begin{keylist}[/\tikzext]{%
+ aobs visible=\meta{overlay specifcation} (default all),
+ aobs invisible=\meta{overlay specifcation} (default all)%
+}
+In case one wants to use the method of simply setting the opacity of elements to zero
+to hide them, these keys are also available.
+\end{keylist}
+Of course, an extension to Beamer is not complete without the following keys.
+\begin{key}{/\utilsext/only=\marg{overlay specification}\marg{key-value list}}
+ Applies the \meta{key-value list} only on \meta{overlay specification}.
+\end{key}
+\begin{key}{/\utilsext/alt=\marg{overlay specification}\marg{default kv list}\marg{alternative kv list}}
+ Applies the \meta{default kv list} on \meta{overlay specification},
+ otherwise the \meta{alternative kv list}.
+\end{key}
+\begin{key}{/\utilsext/temporal=\marg{overlay specification}%
+ \marg{before kv list}\marg{default kv list}\marg{after kv list}}
+ Applies the specific list depending whether the current overlay is before,
+ on or after the specified \meta{overlay specification}.
+\end{key}
+\subsubsection{Beamer Shortcuts}
+But, of course, no one wants to write |/utils/ext/only={2}{red}| to
+make an element red on overlay 2.
+\begin{key}{/\tikzext/beamer shortcuts=\marg{key-value list}}
+ This executes the \meta{key-value list} in the namespace |/tikz/ext/beamer shortcuts|.
+\end{key}
+\begin{key}{/\tikzext/beamer shortcuts/aot}
+ This forwards the keys \referenceKeyandIndex{alt}, \referenceKeyandIndex{only}
+ and \referenceKeyandIndex{temporal} to the aforementioned homonymous |/utils/ext| keys.
+\end{key}
+\begin{key}{/\tikzext/beamer shortcuts/first char=%
+ \mchoice{uncover, cover, visible, invisible, aobs visible, aobs invisible} (initially uncover)}
+ The value of this key will be used for the first char shorthands that can be enabled with the following keys.
+\end{key}
+\begin{key}{/\tikzext/beamer shortcuts/enable first char <}
+ This install a \enquote{first char} handler with the character |<|.
+
+ This allows the example diagram to specified in the following way.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.beamer} \setbeamercovered{transparent},code only]
+\begin{tikzpicture}[ext/beamer shortcuts={enable first char <}]
+\node (a) [<2->] {A};
+\node (b) [<2->] at (1,2) {B};
+\path (a) edge[<3->, bend right] (b);
+\end{tikzpicture}
+\end{codeexample}
+
+ Internally, this will be converted to |ext/uncover=|\marg{overlay specification}.
+
+ Actually, the full syntax is much more versatile
+ \begin{quote}
+ |<|\meta{overlay specification}|>|\opt{|'|}\opt{\meta{options}}\\
+ |<|\meta{overlay specification}|>|\opt{|'|}\opt{\marg{options A}}\opt{\marg{options B}}\opt{\marg{options C}}
+ \end{quote}
+
+ If no options are present the \meta{overlay specification} will
+ be forwarded to one of the keys explained in the subsection above
+ -- depending on |ext/beamer shortcuts/first char|.
+ The optional |'| after |>| will invert the \meta{overlay specification}.
+
+ If \meta{options} or \marg{options A} are present,
+ these will only applied on \meta{overlay specifications} (or the inverse of them with the |'|).
+ If two sets of options are present, they will be |\alt|ed, three options will be |\temporal|ed.
+
+ The |'| will swap two sets of options while for three the first and the last will be swapped.
+\end{key}
+\begin{key}{/\tikzext/beamer shortcuts/enable first char=\marg{character}}
+ As the |<| character might lead to problems as it conflicts with the \tikzname\ shorthand
+ of specifying arrow tip sequences
+ (i.\,e. the famous |<->|\footnote{Though, remember, you can always write \texttt{arrows = <->}.})
+ and the \referenceLibraryandIndexO{graphs} library's own first char syntax
+ an alternative is presented here.
+
+ This key enables a first char syntax with \meta{character} where the full syntax is the same as above:
+ \begin{quote}
+ \meta{character}|<|\meta{overlay specification}|>|\opt{|'|}\opt{\meta{options}}\\
+ \meta{character}|<|\meta{overlay specification}|>|\opt{|'|}\opt{\marg{options A}}\opt{\marg{options B}}\opt{\marg{options C}}
+ \end{quote}
+
+ This means, the example diagram can be created in the following way.
+\begin{codeexample}[preamble=\usetikzlibrary{ext.beamer} \setbeamercovered{transparent},code only]
+\begin{tikzpicture}[ext/beamer shortcuts={enable first char=?}]
+\node (a) [?<2->] {A};
+\node (b) [?<2->] at (1,2) {B};
+\path (a) edge[?<3->, bend right] (b);
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
+
+\subsubsection{Key Handler}
+Maybe this is a syntax that someone wants \dots
+\begin{ext_handler}{{<}|=|\meta{overlay specification}|>| \opt{value}}
+ This handler applies the key on \meta{overlay specification}.
+ If \meta{value} is missing, then the key is also used without a value.
+ For an empty value, use |{}|. If the \meta{value} contains comas or equal signs,
+ as always, you will need to protect those with |{}|.
+ \begin{key}{/\tikzext/beamer shortcuts/enable handler}
+ If |ext_| is too much, using this key activates the |.<| handler.
+ \begin{handler}{{.<}|=|\meta{overlay specification}|>| \opt{value}}
+ This handler is then an alias for the |.ext_<| handler.
+ \end{handler}
+ \end{key}
+\end{ext_handler}
+%\end{multicols*}
+\endinput
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-library-beamer.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-main-body.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-main-body.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -11,6 +11,7 @@
%\includeonly{
% tikz-ext-manual-en-intro,
% tikz-ext-manual-en-library-arrows-plus,
+% tikz-ext-manual-en-library-beamer,
% tikz-ext-manual-en-library-calendar-plus,
% tikz-ext-manual-en-library-layers,
% tikz-ext-manual-en-library-node-families,
@@ -92,6 +93,7 @@
\end{center}
\tikzsetfigurename{arrows-plus} \include{tikz-ext-manual-en-library-arrows-plus}
+ \include{tikz-ext-manual-en-library-beamer}
\tikzsetfigurename{calendar-plus} \include{tikz-ext-manual-en-library-calendar-plus}
\tikzsetfigurename{layers} \include{tikz-ext-manual-en-library-layers}
\tikzsetfigurename{node-families} \include{tikz-ext-manual-en-library-node-families}
@@ -207,8 +209,14 @@
\section*{Changelog}\addcontentsline{toc}{section}{Changelog}
\begin{multicols}{2}\raggedright
\noindent
-Version 0.6 (\the\year-\ifnum\month<10 0\fi\the\month-\ifnum\day<10 0\fi\the\day)
+Version 0.6.1 (\the\year-\ifnum\month<10 0\fi\the\month-\ifnum\day<10 0\fi\the\day)
\begin{itemize}
+\item \addTikz{beamer}
+\item Added new tips |ext_Double Cap|, |ext_Double Stealth| and |ext_Double Triange|.
+\item Bugfix to |ext.arrows-plus|. \cite{GH18}
+\end{itemize}
+Version 0.6 (2025-03-18)
+\begin{itemize}
\item Added \texttt{\textbackslash tikzextset},
\texttt{\textbackslash tikzextversion} and
\texttt{\textbackslash tikzextversionnumber}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-arrows.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-arrows.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-arrows.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -14,8 +14,8 @@
\begin{pgflibrary}{ext.arrows}
This library adds arrows to \pgfname/\tikzname.
- \inspiration{ArrowLoop-Q,ArrowHug-Q,ArrowUntipped1-Q,ArrowUntipped2-Q}
- {ArrowLoop-A,ArrowHug-A,ArrowUntipped1-A,ArrowUntipped2-A}
+ \inspiration{ArrowLoop-Q,ArrowHug-Q,ArrowUntipped1-Q,ArrowUntipped2-Q,DoubleTipQ}
+ {ArrowLoop-A,ArrowHug-A,ArrowUntipped1-A,ArrowUntipped2-A,DoubleTipA}
\end{pgflibrary}
\begin{multicols}{2}
The arrow tips of the \referenceLibraryandIndexO{arrows.meta} library always
@@ -273,6 +273,26 @@
On |double| lines, the arrow tip will not look correct.
\end{arrowtip}
+\begin{arrowtipsimple}{\extus Double Stealth}
+ This arrow tip is similar to the original \referenceArrowtipandIndexO{Stealth},
+ its back is left open so that it aligns neatly to a |double|d path.
+\end{arrowtipsimple}
+\begin{arrowtipsimple}{\extus Double Triangle}
+ This arrow tip is similar to the original \referenceArrowtipandIndexO{Triangle},
+ its back is left open so that it aligns neatly to a |double|d path.
+\end{arrowtipsimple}
+\begin{arrowtipsimple}{\extus Double Cap}
+ This arrow tip closes a |double|d line so that it not left open.
+\end{arrowtipsimple}
+\begin{codeexample}[preamble=\usepgflibrary{ext.arrows}]
+\begin{tikzpicture}
+\draw[
+ ext_Double Cap-ext_Double Stealth,
+ double distance=1cm,
+ line width=3mm
+] (0,0) to[bend left] (right:9);
+\end{tikzpicture}
+\end{codeexample}
\end{multicols}
\tikzset{external/export/.try=true}%
\endinput
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-uncentered.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-uncentered.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual-en-pgf-shapes-uncentered.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -93,7 +93,7 @@
\begin{stylekey}{/tikz/uncrec=\meta{left}\textrm{ or }\meta{text}\textrm{ or }\meta{right}\textrm{ or }\meta{real} (initially text)}
This key sets the shape to |ext_uncentered rectangle| and \referenceKeyandIndex[/\pgfext/]{uncentered rectangle center} to its argument.
\end{stylekey}
-\begin{stylekey}{/tikz/commutative diagrams/install uncentered rectangle in columns=\meta{column}}
+\begin{stylekey}{/tikz/commutative diagrams/install uncentered rectangle in column=\meta{column}}
All nodes in column \meta{column} will be set to the |ext_uncentered rectangle| shape.
\end{stylekey}
\end{itemize}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.bib 2025-04-13 20:30:27 UTC (rev 74934)
@@ -1,4 +1,3 @@
-'
@Misc{NodeFam-Q,
author = {Holene},
month = apr,
@@ -5,6 +4,7 @@
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},
+ groups = {ext.node-families},
url = {https://tex.stackexchange.com/q/107227/16595},
urldate = {2022-09-24},
}
@@ -15,11 +15,11 @@
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},
+ groups = {ext.node-families},
url = {https://tex.stackexchange.com/a/121054/16595},
urldate = {2022-09-24},
}
-'
@Misc{TimerRect-Q,
author = {CrazyArm},
month = apr,
@@ -26,6 +26,7 @@
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},
+ groups = {ext.paths.timer},
url = {https://tex.stackexchange.com/q/106558/16595},
urldate = {2022-09-24},
}
@@ -36,12 +37,12 @@
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},
+ groups = {ext.paths.timer},
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},
}
-'
@Misc{TimerPara-Q,
author = {cis},
month = may,
@@ -48,6 +49,7 @@
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},
+ groups = {ext.paths.timer},
shorttitle = {{TikZ}},
url = {https://tex.stackexchange.com/q/543251/16595},
urldate = {2022-09-24},
@@ -59,12 +61,12 @@
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},
+ groups = {ext.paths.timer},
shorttitle = {Answer to "{TikZ}},
url = {https://tex.stackexchange.com/a/621012/16595},
urldate = {2022-09-24},
}
-'
@Misc{Pattern-Q,
author = {knut},
month = mar,
@@ -87,7 +89,6 @@
urldate = {2022-09-24},
}
-'
@Misc{WeekNum-Q,
author = {Fence},
month = nov,
@@ -94,6 +95,7 @@
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},
+ groups = {calendar},
url = {https://tex.stackexchange.com/q/517338/16595},
urldate = {2022-09-24},
}
@@ -104,6 +106,7 @@
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},
+ groups = {calendar},
url = {https://tex.stackexchange.com/a/651888/16595},
urldate = {2022-09-24},
}
@@ -115,6 +118,7 @@
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},
+ groups = {calendar},
url = {https://tex.stackexchange.com/q/140948/16595},
urldate = {2022-09-24},
}
@@ -125,11 +129,11 @@
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},
+ groups = {calendar},
url = {https://tex.stackexchange.com/a/141027/16595},
urldate = {2022-09-24},
}
-'
@Misc{CalMath-Q,
author = {cis},
month = dec,
@@ -136,6 +140,7 @@
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},
+ groups = {calendar},
shorttitle = {{TikZ} / calendar},
url = {https://tex.stackexchange.com/q/464589/16595},
urldate = {2022-09-24},
@@ -147,6 +152,7 @@
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},
+ groups = {calendar},
shorttitle = {Answer to "{TikZ} / calendar},
url = {https://tex.stackexchange.com/a/653146/16595},
urldate = {2022-09-24},
@@ -173,7 +179,6 @@
urldate = {2022-09-24},
}
-'
@Misc{NodeFam-Ellipse,
author = {nkk},
month = jun,
@@ -180,11 +185,11 @@
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},
+ groups = {ext.node-families},
url = {https://tex.stackexchange.com/q/494862/16595},
urldate = {2022-09-24},
}
-'
@Misc{ShapeHeat-Q,
author = {boje},
month = may,
@@ -191,6 +196,7 @@
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},
+ groups = {ext.shapes.*},
url = {https://tex.stackexchange.com/q/112929/16595},
urldate = {2022-09-24},
}
@@ -201,11 +207,11 @@
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},
+ groups = {ext.shapes.*},
url = {https://tex.stackexchange.com/a/113004/16595},
urldate = {2022-09-24},
}
-'
@Misc{ShapeSplitCircle-Q,
author = {Marco},
month = apr,
@@ -212,6 +218,7 @@
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},
+ groups = {ext.shapes.*},
url = {https://tex.stackexchange.com/q/121686/16595},
urldate = {2022-09-24},
}
@@ -222,14 +229,15 @@
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},
+ groups = {ext.shapes.*},
url = {https://tex.stackexchange.com/a/121767/16595},
urldate = {2022-09-24},
}
-'
@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},
+ groups = {ext.shapes.*},
month = aug,
title = {An oval surrounded a *long text* inside in {TikZ} [equivalent cover background of {METAFUN}]},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -241,6 +249,7 @@
@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},
+ groups = {ext.shapes.*},
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},
@@ -253,6 +262,7 @@
@Online{ShapeCircleArrow-Q,
author = {projetmbc},
file = {Snapshot:https\://tex.stackexchange.com/questions/95221/tikz-circled-arrow/95263#95263:text/html},
+ groups = {ext.shapes.*},
month = jan,
title = {{TikZ} - \enquote{Circled} arrow},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -264,6 +274,7 @@
@Online{ShapeCircleArrow-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/95221/tikz-circled-arrow/95263#95263:text/html},
+ groups = {ext.shapes.*},
month = jan,
title = {Answer to \enquote{{TikZ} - \enquote{Circled} arrow}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -276,6 +287,7 @@
@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},
+ groups = {foreach},
month = apr,
title = {How to use declared {TikZ} functions in {\textbackslash}foreach condition?},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -287,6 +299,7 @@
@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},
+ groups = {foreach},
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?}},
@@ -296,10 +309,10 @@
year = {2013},
}
-'
@Online{CalFullWeek-Q,
author = {jd6},
file = {Snapshot:https\://tex.stackexchange.com/questions/576673/full-weeks-in-tikz-calendar/660335#660335:text/html},
+ groups = {calendar},
month = dec,
title = {Full weeks in Tikz Calendar},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -311,6 +324,7 @@
@Online{CalFullWeek-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/576673/full-weeks-in-tikz-calendar/660335#660335:text/html},
+ groups = {calendar},
month = oct,
title = {Answer to \enquote{Full weeks in Tikz Calendar}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -319,7 +333,6 @@
year = {2022},
}
-'
@Software{GH2,
abstract = {{clockwise/counter clockwise does not seem to work reliably}},
author = {marmotghost},
@@ -330,10 +343,10 @@
year = {2022},
}
-'
@Online{UncRectForest-Q,
author = {projetmbc},
file = {Snapshot:https\://tex.stackexchange.com/questions/661726/forest-automatic-setting-of-the-alignment-of-some-labels/661746#661746:text/html},
+ groups = {ext.shapes.*},
month = oct,
title = {forest - automatic setting of the alignment of some labels},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -345,6 +358,7 @@
@Online{UncRectForest-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/661726/forest-automatic-setting-of-the-alignment-of-some-labels/661746#661746:text/html},
+ groups = {ext.shapes.*},
month = oct,
title = {Answer to \enquote{forest - automatic setting of the alignment of some labels}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -353,10 +367,10 @@
year = {2022},
}
-'
@Online{UncRectCD-Q,
author = {Szymankiewicz, Michał},
file = {Snapshot:https\://tex.stackexchange.com/questions/657432/how-to-draw-a-mixing-rule-chemistry/657449#657449:text/html},
+ groups = {ext.shapes.*},
month = sep,
shorttitle = {How to draw a mixing rule?},
title = {How to draw a mixing rule? \#chemistry},
@@ -369,6 +383,7 @@
@Online{UncRectCD-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/657432/how-to-draw-a-mixing-rule-chemistry/657449#657449:text/html},
+ groups = {ext.shapes.*},
month = sep,
shorttitle = {Answer to \enquote{How to draw a mixing rule?}},
title = {Answer to \enquote{How to draw a mixing rule? \#chemistry}},
@@ -378,10 +393,10 @@
year = {2022},
}
-'
@Online{ForeachNoSep-Q,
author = {daan},
file = {Snapshot:https\://tex.stackexchange.com/questions/666263/string-conditional-tikz/666265#666265:text/html},
+ groups = {foreach},
month = nov,
title = {String conditional tikz},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -393,6 +408,7 @@
@Online{ForeachNoSep-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/666263/string-conditional-tikz/666265#666265:text/html},
+ groups = {foreach},
month = nov,
title = {Answer to \enquote{String conditional tikz}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -401,10 +417,10 @@
year = {2022},
}
-'
@Online{ForeachXparse-Q,
author = {uulinux},
file = {Snapshot:https\://tex.stackexchange.com/questions/618047/is-there-a-package-to-implement-this-style-of-register-diagrams-with-field-desc/667155#667155:text/html},
+ groups = {foreach},
month = oct,
title = {Is there a package to implement this style of "Register diagrams with field descriptions"},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -416,6 +432,7 @@
@Online{ForeachXparse-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/618047/is-there-a-package-to-implement-this-style-of-register-diagrams-with-field-desc/667155#667155:text/html},
+ groups = {foreach},
month = dec,
title = {Answer to \enquote{Is there a package to implement this style of "Register diagrams with field descriptions"}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -424,7 +441,6 @@
year = {2022},
}
-'
@Software{spath3,
abstract = {{TikZ}/{PGF} package for manipulating soft paths, includes the knots and calligraphy {TikZ} libraries.},
author = {Stacey, Andrew},
@@ -436,10 +452,10 @@
year = {2022},
}
-'
@Online{NodesOnLine-Q,
author = {Dimitris},
file = {Snapshot:https\://tex.stackexchange.com/questions/667338/draw-two-concentric-circles-and-a-shaded-area-with-associated-text/667341#667341:text/html},
+ groups = {ext.nodes},
month = dec,
title = {Draw two concentric circles and a shaded area with associated text},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -451,6 +467,7 @@
@Online{NodesOnLine-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/667338/draw-two-concentric-circles-and-a-shaded-area-with-associated-text/667341#667341:text/html},
+ groups = {ext.nodes},
month = dec,
title = {Answer to \enquote{Draw two concentric circles and a shaded area with associated text}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -459,10 +476,10 @@
year = {2022},
}
-'
@Online{NodesOnCurve-Q,
author = {Liblit, Ben},
file = {Snapshot:https\://tex.stackexchange.com/questions/99945/path-with-both-mark-connection-node-and-arrow-tip/667487#667487:text/html},
+ groups = {ext.nodes},
month = feb,
title = {path with both mark connection node and arrow tip},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -474,6 +491,7 @@
@Online{NodesOnCurve-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/99945/path-with-both-mark-connection-node-and-arrow-tip/667487#667487:text/html},
+ groups = {ext.nodes},
month = dec,
title = {Answer to \enquote{path with both mark connection node and arrow tip}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -482,10 +500,10 @@
year = {2022},
}
-'
@Online{UncRectCD2-Q,
author = {sro5h},
file = {Snapshot:https\://tex.stackexchange.com/questions/652540/achieve-desired-alignment-of-arrows-in-tikz-cd-diagram:text/html},
+ groups = {ext.shapes.*},
month = jul,
title = {Achieve desired alignment of arrows in tikz-cd diagram},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -494,7 +512,6 @@
year = {2022},
}
-'
@Software{GH6,
abstract = {{Latest version of ext.misc on CTAN appears to have a typo}},
author = {marmotghost},
@@ -505,10 +522,10 @@
year = {2023},
}
-'
@Online{ArrowLoop-Q,
author = {{IV}, Edgar A. Bering},
file = {Snapshot:https\://tex.stackexchange.com/questions/565010/set-the-color-of-a-tikz-cd-glyph-arrow-tip-with-xelatex/681474#681474:text/html},
+ groups = {ext.arrows},
month = oct,
title = {Set the color of a tikz-cd Glyph arrow tip with xelatex},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -520,6 +537,7 @@
@Online{ArrowLoop-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/565010/set-the-color-of-a-tikz-cd-glyph-arrow-tip-with-xelatex/681474#681474:text/html},
+ groups = {ext.arrows},
month = apr,
title = {Answer to \enquote{Set the color of a tikz-cd Glyph arrow tip with xelatex}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -528,10 +546,10 @@
year = {2023},
}
-'
@Online{ArrowHug-Q,
author = {{DC}, Alejandro},
file = {Snapshot:https\://tex.stackexchange.com/questions/241074/better-fitting-line-to-node-in-tikz/241303#241303:text/html},
+ groups = {ext.arrows},
month = apr,
title = {Better fitting line to node in {TiKZ}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -543,6 +561,7 @@
@Online{ArrowHug-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/241074/better-fitting-line-to-node-in-tikz/241303#241303:text/html},
+ groups = {ext.arrows},
month = apr,
title = {Answer to \enquote{Better fitting line to node in {TiKZ}}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -551,10 +570,10 @@
year = {2015},
}
-'
@Online{ArrowUntipped1-Q,
author = {Christian},
file = {Snapshot:https\://tex.stackexchange.com/questions/111051/tikz-arrow-tip-is-displaced?noredirect=1&lq=1:text/html},
+ groups = {ext.arrows},
month = apr,
title = {{TikZ} arrow tip is displaced},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -566,6 +585,7 @@
@Online{ArrowUntipped1-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/111051/tikz-arrow-tip-is-displaced?noredirect=1&lq=1:text/html},
+ groups = {ext.arrows},
month = apr,
title = {Answer to \enquote{{TikZ} arrow tip is displaced}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -574,10 +594,10 @@
year = {2013},
}
-'
@Online{ArrowUntipped2-Q,
author = {Hlavacek, Jan},
file = {Snapshot:https\://tex.stackexchange.com/questions/11871/modifying-and-o-style-tikz-arrows-so-that-they-are-centered-at-the-end-of?noredirect=1&lq=1:text/html},
+ groups = {ext.arrows},
month = feb,
title = {Modifying \texttt{*} and \texttt{o} style tikz arrows so that they are centered at the end of line},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -589,6 +609,7 @@
@Online{ArrowUntipped2-A,
author = {Qrrbrbirlbel},
file = {Snapshot:https\://tex.stackexchange.com/questions/11871/modifying-and-o-style-tikz-arrows-so-that-they-are-centered-at-the-end-of?noredirect=1&lq=1:text/html},
+ groups = {ext.arrows},
month = sep,
title = {Answer to \enquote{Modifying \texttt{*} and \texttt{o} style tikz arrows so that they are centered at the end of line}},
titleaddon = {{TeX} - {LaTeX} Stack Exchange},
@@ -648,4 +669,62 @@
month = jan,
}
+ at Online{DoubleTipQ,
+ author = {lucky1928},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/722350/add-customize-line-header-not-smooth-connected/722413#722413:text/html},
+ groups = {ext.arrows},
+ month = jul,
+ note = {{ZSCC}: {NoCitationData}[s0]},
+ title = {add customize line header not smooth connected},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/q/722350/16595},
+ urldate = {2025-03-28},
+ year = {2024},
+}
+
+ at Online{DoubleTipA,
+ author = {Qrrbrbirlbel},
+ file = {Snapshot:https\://tex.stackexchange.com/questions/722350/add-customize-line-header-not-smooth-connected/722413#722413:text/html},
+ groups = {ext.arrows},
+ month = jul,
+ note = {{ZSCC}: {NoCitationData}[s0]},
+ title = {Answer to \enquote{add customize line header not smooth connected}},
+ titleaddon = {{TeX} - {LaTeX} Stack Exchange},
+ url = {https://tex.stackexchange.com/a/722413/16595},
+ urldate = {2025-03-28},
+ year = {2024},
+}
+
+ at Software{GH18,
+ abstract = {{TikZExtensions}},
+ author = {Qrrbrbirlbel},
+ month = mar,
+ note = {{ZSCC}: {NoCitationData}[s0] original-date: 2022-08-13T23:42:55Z},
+ title = {arrow shifting for start tip sequence doesn't work and shift amount needs to be expanded},
+ url = {https://github.com/Qrrbrbirlbel/tikz-extensions},
+ urldate = {2025-03-29},
+ year = {2025},
+}
+
+ at Article{aobstikzmanual,
+ author = {Claudio Fiandrino},
+ title = {The aobs-tikz package},
+ year = {2024},
+ month = apr,
+}
+
@Comment{jabref-meta: databaseType:bibtex;}
+
+ at Comment{jabref-meta: grouping:
+0 AllEntriesGroup:;
+1 StaticGroup:ext.shapes.*\;0\;1\;\;\;\;;
+1 StaticGroup:ext.node-families\;0\;1\;\;\;\;;
+1 StaticGroup:ext.arrows\;0\;1\;\;\;\;;
+1 StaticGroup:ext.arrows-plus\;0\;1\;\;\;\;;
+1 StaticGroup:calendar\;0\;0\;\;\;\;;
+1 StaticGroup:foreach\;0\;1\;\;\;\;;
+1 StaticGroup:ext.nodes\;0\;0\;\;\;\;;
+1 StaticGroup:ext.paths.timer\;0\;0\;\;\;\;;
+}
+
+ at Comment{jabref-meta: groups-search-syntax-version:6.0-alpha_1}
Modified: trunk/Master/texmf-dist/doc/latex/tikz-ext/tikz-ext-manual.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.arrows.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.arrows.code.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.arrows.code.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -11,8 +11,8 @@
\input tikzext-util.tex
\fi
-\pgfqkeys{/pgf/@arrows decl}{
- /tikz-ext/@arrows decl/clone/.code={%
+\pgfqkeys{/tikz-ext/@arrows decl}{
+ clone/.code={%
\pgfutil at namelet{pgf at decl@arrow at code}{pgf at ar@code@#1}%
\pgfutil at namelet{pgf at decl@arrow at defaults}{pgf at ar@defaults@#1}%
\pgfutil at namelet{pgf at decl@arrow at setup}{pgf at ar@setup@#1}%
@@ -20,13 +20,13 @@
\pgfutil at namelet{pgf at decl@arrow at par}{pgf at ar@par@#1}%
\pgfutil at namelet{pgf at decl@arrow at cache}{pgf at ar@do at cache@#1}%
},
- /tikz-ext/@arrows decl/append setup code/.code=
+ append setup code/.code=
\begingroup
\pgfutil at toks@\expandafter{\pgf at decl@arrow at setup#1}%
\expandafter\endgroup
\expandafter\def\expandafter\pgf at decl@arrow at setup\expandafter
{\the\pgfutil at toks@ },
- % /tikz-ext/@arrows decl/append parameters/.code=
+ % append parameters/.code=
% \begingroup
% \show\pgf at decl@arrow at par
% \pgfutil at toks@\expandafter{\pgf at decl@arrow at par#1}%
@@ -295,6 +295,82 @@
}
}
+\pgfdeclarearrow{
+ name = ext_Double Cap@,
+ defaults = {length = +0pt +1 +1, width = +0pt +1 +0},
+ setup code={%
+ \pgfarrowssettipend{+0pt}%
+ \pgfarrowssetbackend{+-\pgfarrowlength}%
+ \pgfarrowssetlineend{+-.5\pgfarrowlength}%
+ \pgfarrowsupperhullpoint{+0pt}{+.5\pgfarrowwidth}%
+ \pgfarrowsupperhullpoint{+-\pgfarrowlength}{+.5\pgfarrowwidth}%
+ \pgfarrowssavethe\pgfarrowwidth
+ \pgfarrowssavethe\pgfarrowlength
+ },
+ drawing code={%
+ \pgfsetdash{}{+0pt}%
+ \ifpgfarrowroundcap\pgfsetroundcap\fi
+ \pgfpathmoveto{\pgfqpoint{-.5\pgfarrowlength}
+ {\dimexpr.5\pgfarrowwidth\ifpgfarrowroundcap-.5\pgfarrowlength\fi}}%
+ \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}
+ {\dimexpr-.5\pgfarrowwidth\ifpgfarrowroundcap+.5\pgfarrowlength\fi}}%
+ \pgfsetlinewidth{+\pgfarrowlength}%
+ \pgfusepathqstroke
+ },
+ parameters={\the\pgfarrowlength,\the\pgfarrowwidth,\ifpgfarrowroundcap c\fi}}
+
+\pgfdeclarearrow{
+ name = ext_Double Stealth@,
+ /tikz-ext/@arrows decl/clone = Stealth,
+ /tikz-ext/@arrows decl/append setup code = {%
+ \pgfmathsetlengthmacro\lwocenter
+ {.5*\pgfinnerlinewidth+.25*(\pgflinewidth-\pgfinnerlinewidth)}%
+ \advance\pgfarrowinset by\pgf at yc % undo weird things
+ \ifdim\pgfarrowinset=0pt \def\shortenedinset{0pt}%
+ \else \pgfmathsetlengthmacro\shortenedinset
+ {\pgfarrowinset/\pgfutil at tempdimb*(\pgfutil at tempdimb-\lwocenter)}\fi
+ \pgfarrowssetlineend{\shortenedinset}%
+ \pgfarrowssave\lwocenter
+ \pgfarrowssave\shortenedinset
+ },
+ drawing code = {%
+ \pgfsetdash{}{+0pt}%
+ \ifpgfarrowroundjoin\pgfsetroundjoin\else\pgfsetmiterjoin\fi
+ \ifdim\pgfarrowlinewidth=\pgflinewidth
+ \else\pgfsetlinewidth{+\pgfarrowlinewidth}\fi
+ \ifdim\shortenedinset=0pt
+ \pgfsetrectcap
+ \pgfpathmoveto{\pgfqpoint{\shortenedinset}{-\lwocenter}}%
+ \else
+ \pgfsetbuttcap
+ \pgfpathmoveto{\pgfqpoint
+ {\shortenedinset\advance\pgf at x-.5\pgfarrowlinewidth}{-\lwocenter}}%
+ \pgfpathlineto{\pgfqpoint{\shortenedinset}{-\lwocenter}}%
+ \fi
+ \pgfpathlineto{\pgfqpoint{\pgf at ya}{-\pgfutil at tempdimb}}%
+ \pgfpathlineto{\pgfqpoint{\pgfutil at tempdima\advance\pgf at x by\pgf at ya}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{\pgf at ya}{\pgfutil at tempdimb}}%
+ \pgfpathlineto{\pgfqpoint{\shortenedinset}{\lwocenter}}%
+ \ifdim\shortenedinset=0pt \else
+ \pgfpathlineto{\pgfqpoint
+ {\shortenedinset\advance\pgf at x-.5\pgfarrowlinewidth}{\lwocenter}}%
+ \fi
+ \ifpgfarrowopen \pgfusepathqstroke\else
+ \ifdim\pgfarrowlinewidth>0pt \pgfusepathqfillstroke
+ \else \pgfusepathqfill \fi \fi
+ },
+ defaults = {
+ length = +3pt +4.5 +.8,
+ width' = +0pt +1.75,
+ inset' = +0pt +0.425,
+ line width = +0pt +1 +1,
+ },
+}%
+
+\pgfdeclarearrow{name = ext_Double Cap, means = {ext_Double Cap@[quick]}}
+\pgfdeclarearrow{name = ext_Double Stealth, means = {ext_Double Stealth@[open, quick]}}
+\pgfdeclarearrow{name = ext_Double Triangle,means = {ext_Double Stealth[inset=+0pt]}}
+
%%% Compatibility
\pgfqkeys{/pgf/arrow keys}{radius/.style={/pgf/arrow keys/inset={#1}}} % should be removed after v0.6
\tikzextset{
Modified: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzext-util.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzext-util.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzext-util.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -6,10 +6,32 @@
% 2. under the GNU Free Documentation License.
%
-\def\tikzextversion{0.6}
-\def\tikzextversionnumber{8}
+\def\tikzextversion{0.6.1}
+\def\tikzextversionnumber{9}
\def\tikzextset{\pgfqkeys{/tikz/ext}}
\def\pgfextset{\pgfqkeys{/pgf/ext}}
+\pgfextset{
+ pgf/.code=\pgfset{#1},
+ .code=\pgfextset{#1}%
+}
+\tikzextset{
+ tikz/.code=\tikzset{#1},
+ .code=\tikzextset{#1},
+ .unknown/.code={%
+ \pgfextset{\pgfkeyscurrentname/.try={#1}}%
+ \unless\ifpgfkeyssuccess
+ \pgfutil at packageerror{tikz-ext}{%
+ I neither know '/tikz/ext/\pgfkeyscurrentname' nor
+ '/pgf/ext/\pgfkeyscurrentname' to which you passed '#1'.%
+ }%
+ \fi
+ },
+ /pgfplots/ext/.code=\tikzextset{#1},
+ /pgfplots/ext/.unknown/.code={%
+ \tikzextset{\pgfkeyscurrentname={#1}}%
+ }
+}
+% Compatibility
\gdef\tikzextutil at compatwarning@counter{0}
\def\tikzextutil at compatmaybewarning#1#2#3{%
\ifnum\tikzextutil at compatwarning@counter<25
@@ -139,19 +161,15 @@
\pgfutil at namelet{pgf at anchor@#1@\tikzext at temp}{pgf at anchor@ext_#1@\tikzext at temp}}%
\pgfutil at for\tikzext at temp:=bbg,bg,fbg,fg,ffg\do{%
\pgfutil at namelet{pgf at sh@\tikzext at temp @#1}{pgf at sh@\tikzext at temp @ext_#1}}}
-\pgfextset{
- pgf/.code=\pgfset{#1},
- .code=\pgfextset{#1}%
-}
+
\tikzextset{
- tikz/.code=\tikzset{#1},
- .code=\tikzextset{#1},
- .search also={/pgf/ext,/pgf},
- %
compat/.is choice, compat/.default=warn,
/tikz-ext/compat/add library/.code 2 args={%
- \tikzextset{compat/#1/.is choice, compat/#1/.default=#2}%
- \pgfutil at for\tikzext at temp:=pre 0.6,0.6,newest,warn\do{%
+ \tikzextset{
+ compat/#1/.is choice,
+ compat/#1/.default=#2,
+ compat/#1/0.6.1/.style={/tikz/ext/compat/#1/0.6}}%
+ \pgfutil at for\tikzext at temp:=pre 0.6,0.6,0.6.1,newest,warn\do{%
\pgfkeys at expanded{%
\noexpand\tikzextset{%
compat/\tikzext at temp/.append style=%
@@ -161,12 +179,8 @@
{\noexpand\pgfkeyssetvalue{/tikz/ext/compat/#1}{\tikzext at temp}}%
}%
},
- % /handlers/.ext_compat to warn/.code={%
- % \edef\tikz at temp{\expandafter\tikzext at compat@stripext\pgfkeyscurrentpath\tikzext at stop}%
- % \tikzextset{compat/#1/warn/.append code/.expanded=\noexpand}
- % },
}
-% \def\tikzext at compat@stripext#1/ext/#2\tikzext at stop{#1/#2}
+
\def\tikzext at temp#1{%
\pgfkeysedef{/tikz/ext/compat/#1}{%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/arrows} {#1}%
@@ -174,7 +188,7 @@
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/misc} {#1}%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/nodes} {#1}%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/node-families} {#1}%
- \noexpand\pgfkeyssetvalue{/tikz/ext/compat/patterns.images} {#1}%
+ \noexpand\pgfkeyssetvalue{/tikz/ext/compat/patterns.images} {#1}%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/paths.arcto} {#1}%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/paths.ortho} {#1}%
\noexpand\pgfkeyssetvalue{/tikz/ext/compat/paths.timer} {#1}%
@@ -189,6 +203,7 @@
}}
\tikzext at temp{pre 0.6}
\tikzext at temp{0.6}
+\tikzextset{compat/0.6.1/.style={/tikz/ext/compat/0.6}}
\tikzext at temp{newest}
\tikzext at temp{warn}
\tikzextset{compat=warn}
Modified: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.arrows-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.arrows-plus.code.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.arrows-plus.code.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -15,45 +15,42 @@
%
% Stores the shift amount into \tikzext at arrow@shift@
%
-\def\tikzext at arrow@evalshift#1{%
+\def\tikzext at arrow@evalshift#1#2#3{%
\pgf at arrow@compute at shortening#1%
\ifcase\pgfkeysvalueof{/tikz/ext/arrow/shift mode}\relax
- \def\tikzext at arrow@shift@{0pt}%
+ \def#3{0pt}%
\or
- \pgfmathsetlengthmacro\tikzext at arrow@shift@
- {(\pgfkeysvalueof{/tikz/ext/arrow shift factor})*-\pgf at xb}%
+ \pgfmathsetlengthmacro#3%
+ {(\pgfkeysvalueof{/tikz/ext/arrow shift factor #2})*-\pgf at xb}%
\or
- \pgfmathsetlengthmacro\tikzext at arrow@shift@
- {(\pgfkeysvalueof{/tikz/ext/arrow shift factor})*-\pgf at xa}%
+ \pgfmathsetlengthmacro#3%
+ {(\pgfkeysvalueof{/tikz/ext/arrow shift factor #2})*-\pgf at xa}%
\fi
}
% For bended arrows the shifting can't simply be done by a transformation
-% it must be done by the arrow system itself via the sep key.
-% For this to work as expected, the sep will need to be sneaked into
-% the options of the first or last arrow tip.
-\def\tikzext at arrow@sneakstart#1\pgf at stop{%
- \unless\ifdim\tikzext at arrow@shift@=0pt
- \def\pgf at start@tip at sequence{\pgf at arrow@handle{_}{\pgfarrowsep=\tikzext at arrow@shift@\relax}#1}%
+\def\tikzext at arrow@sneak#1\pgf at stop#2#3{% TODO
+ \unless\ifdim#3=0pt
+ \def#2{#1\pgf at arrow@handle{_}{\pgfarrowsep=#3\relax}}%
\fi
}
-\def\tikzext at arrow@sneakend#1\pgf at stop{%
- \unless\ifdim\tikzext at arrow@shift@=0pt
- \def\pgf at end@tip at sequence{#1\pgf at arrow@handle{_}{\pgfarrowsep=\tikzext at arrow@shift@\relax}}%
- \fi
-}
%
% Arrow keys
%
+\pgfkeysdef{/tikz/ext/pos > angle}{%
+ \pgfkeysvalueof{/tikz/pos/. at cmd}(#1-\tikz at timer@start at angle)/(\tikz at timer@end at angle-\tikz at timer@start at angle)\pgfeov}
\tikzextset{%
every softpath arrows/.code=
\pgfkeysdef{/tikz/pos >}{\pgfkeysvalueof{/tikz/pos/. at cmd}##1\pgfeov}%
\pgfkeysdef{/tikz/pos <}{\pgfkeyssetvalue{/tikz/ext/pos <}{##1}},
every arc arrows/.code=
+ \pgfkeysdef{/tikz/pos > angle}{\pgfkeysvalueof{/tikz/ext/pos > angle/. at cmd}##1\pgfeov}%
+ \pgfkeysdef{/tikz/pos < angle}{\pgfkeysvalueof{/tikz/ext/pos < angle/. at cmd}##1\pgfeov}%
\pgfkeysdef{/tikz/pos >}{\pgfkeysvalueof{/tikz/pos/. at cmd}##1\pgfeov}%
\pgfkeysdef{/tikz/pos <}{\pgfkeyssetvalue{/tikz/ext/pos <}{##1}},
+ pos < angle/.code=\pgfkeyssetvalue{/tikz/ext/pos <}{(#1-\tikz at timer@start at angle)/(\tikz at timer@end at angle-\tikz at timer@start at angle)},
softpath arrows/.default=,
softpath arrows/.code={%
\begingroup
@@ -68,12 +65,12 @@
\pgfinterruptpath
\pgfscope
\pgfutil at ifxempty\pgf at start@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at start@tip at sequence
- \expandafter\tikzext at arrow@sneakstart\pgf at start@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at start@tip at sequence{start}\tikzext at arrow@shift at start
+ \expandafter\tikzext at arrow@sneak\pgf at start@tip at sequence\pgf at stop\pgf at start@tip at sequence\tikzext at arrow@shift at start
}%
\pgfutil at ifxempty\pgf at end@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
- \expandafter\tikzext at arrow@sneakend\pgf at end@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
+ \expandafter\tikzext at arrow@sneak\pgf at end@tip at sequence\pgf at stop\pgf at end@tip at sequence\tikzext at arrow@shift at end
}%
\pgfset{tips}%
\pgftransformreset
@@ -98,12 +95,12 @@
\pgfinterruptpath
\pgfscope
\pgfutil at ifxempty\pgf at start@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at start@tip at sequence
- \expandafter\tikzext at arrow@sneakstart\pgf at start@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at start@tip at sequence{start}\tikzext at arrow@shift at start
+ \expandafter\tikzext at arrow@sneak\pgf at start@tip at sequence\pgf at stop\pgf at start@tip at sequence\tikzext at arrow@shift at start
}%
\pgfutil at ifxempty\pgf at end@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
- \expandafter\tikzext at arrow@sneakend\pgf at end@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
+ \expandafter\tikzext at arrow@sneak\pgf at end@tip at sequence\pgf at stop\pgf at end@tip at sequence\tikzext at arrow@shift at end
}%
\pgfset{tips}%
\tikzext at arrow@arcpath
@@ -130,7 +127,10 @@
arrow shift mode/length until line end/.code=\pgfkeyssetvalue{/tikz/ext/arrow/shift mode}{2},
arrow shift mode/line end/.code =\pgfkeyssetvalue{/tikz/ext/arrow/shift mode}{2},
arrow shift mode=total length,
- arrow shift factor/.initial=.5,
+ arrow shift factor/.code=\pgfkeyssetvalue{/tikz/ext/arrow shift factor start}{#1}%
+ \pgfkeyssetvalue{/tikz/ext/arrow shift factor end}{#1},
+ arrow shift factor start/.initial=.5,
+ arrow shift factor end/.initial=.5
}
%
% Arrow pics
@@ -145,8 +145,8 @@
\pgfutil at ifxempty\tikzext at temp{}{%
\pgfsetarrowsend{#1}%
}%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
- \pgftransformxshift{+-\tikzext at arrow@shift@}%
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
+ \pgftransformxshift{+-\tikzext at arrow@shift at end}%
\pgf at arrow@draw at arrow\pgf at end@tip at sequence\pgf at xb
},
pics/ext/softpath arrow/.default=,
@@ -167,12 +167,12 @@
\pgfsetarrows{#1}%
}%
\pgfutil at ifxempty\pgf at start@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at start@tip at sequence
- \expandafter\tikzext at arrow@sneakstart\pgf at start@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at start@tip at sequence{start}\tikzext at arrow@shift at start
+ \expandafter\tikzext at arrow@sneak\pgf at start@tip at sequence\pgf at stop\pgf at start@tip at sequence\tikzext at arrow@shift at start
}%
\pgfutil at ifxempty\pgf at end@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
- \expandafter\tikzext at arrow@sneakend\pgf at end@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
+ \expandafter\tikzext at arrow@sneak\pgf at end@tip at sequence\pgf at stop\pgf at end@tip at sequence\tikzext at arrow@shift at end
}%
\pgfsyssoftpath at getcurrentpath\tikz at temp
\pgfprocesssplitsubpath\tikz at temp
@@ -279,9 +279,9 @@
\scope[{#2}]%
\pgfsetarrowsend{#3}%
\pgfutil at ifxempty\pgf at end@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
\pgftransformxscale{#1}%
- \pgftransformxshift{+-\tikzext at arrow@shift@}%
+ \pgftransformxshift{+-\tikzext at arrow@shift at end}%
\pgf at arrow@draw at arrow\pgf at end@tip at sequence\pgf at xb
}%
\endscope
@@ -302,8 +302,8 @@
\scope[{#2}]%
\pgfsetarrowsend{#3}%
\pgfutil at ifxempty\pgf at end@tip at sequence{}{%
- \tikzext at arrow@evalshift\pgf at end@tip at sequence
- \expandafter\tikzext at arrow@sneakend\pgf at end@tip at sequence\pgf at stop
+ \tikzext at arrow@evalshift\pgf at end@tip at sequence{end}\tikzext at arrow@shift at end
+ \expandafter\tikzext at arrow@sneak\pgf at end@tip at sequence\pgf at stop\pgf at end@tip at sequence\tikzext at arrow@shift at end
\ifdim\pgf at decorate@inputsegmenttime pt=1pt % something weird for 1.0
\def\pgf at decorate@inputsegmenttime{1}%
\fi
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.beamer.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.beamer.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.beamer.code.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -0,0 +1,366 @@
+% Copyright 2024 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.
+%
+
+\unless\ifcsname tikzextset\endcsname
+ \input tikzext-util.tex
+\fi
+
+\unless\ifcsname ifmemoizing\endcsname
+ \expandafter\newif\csname ifmemoizing\endcsname
+\fi
+
+\let\tikzext at maxbb@list\pgfutil at gobble
+\def\tikzext at maxbb@write{%
+ \unless\ifx\tikzext at maxbb@list\pgfutil at gobble
+ \pgfutil at for\tikzext at temp:=\tikzext at maxbb@list\do{%
+ % if next is not existing (because of memoize)
+ % we just write the prev again
+ \immediate\write\pgfutil at auxout{%
+ \noexpand\expandafter\gdef\noexpand\csname tikzext at maxbb@\tikzext at temp @prev\endcsname{%
+ \csname tikzext at maxbb@\tikzext at temp @%
+ \ifcsname tikzext at maxbb@\tikzext at temp @next\endcsname next\else prev\fi
+ \endcsname
+ }%
+ }%
+ }%
+ \fi
+}
+\def\tikzext at maxbb@addtolist#1{%
+ \edef\pgf at marshal{\noexpand\pgfutil at in@{,#1,}{,\tikzext at maxbb@list,}}%
+ \pgf at marshal
+ \unless\ifpgfutil at in@
+ \xdef\tikzext at maxbb@list{\tikzext at maxbb@list,#1}%
+ \fi
+}
+\def\tikzext at maxbb@if#1#2#3{%
+ \ifcsname tikzext at maxbb@#1\endcsname#2\else#3\fi
+}
+\tikzextset{
+ ignore line width/.value forbidden,
+ ignore line width/.style={
+ /pgf/local bounding box=tikzext at ilw,
+ /tikz/execute at end scope/.expanded={%
+ \global\pgf at picminx=\the\pgf at picminx\relax
+ \global\pgf at picmaxx=\the\pgf at picmaxx\relax
+ \global\pgf at picminy=\the\pgf at picminy\relax
+ \global\pgf at picmaxy=\the\pgf at picmaxy\relax
+ },
+ /tikz/execute at end scope={%
+ \pgf at protocolsizes\pgf at lbb@minx at tikzext@ilw\pgf at lbb@miny at tikzext@ilw
+ \pgf at protocolsizes\pgf at lbb@maxx at tikzext@ilw\pgf at lbb@maxy at tikzext@ilw
+ }%
+ },
+ max bounding box/.value required,
+ max bounding box/.code={%
+ \tikzext at maxbb@if{#1 at prev}{% not the first run
+ \pgfkeys at expanded{\noexpand\tikzext at maxbb@setbb\csname tikzext at maxbb@#1 at prev\endcsname}%
+ }{% first run
+ \ifmemoizing
+ \mmzAbort
+ \fi
+ }%
+ \tikzext at maxbb@if{#1 at next}{% not the first picture
+ \pgfkeys at expanded{\noexpand\tikzext at maxbb@setbb\csname tikzext at maxbb@#1 at next\endcsname}%
+ }{% first picture
+ \tikzext at maxbb@addtolist{#1}%
+ }%
+ \ifmemoizing
+ \mmzset{context=\csname tikzext at maxbb@#1 at prev\endcsname}%
+ \gtoksapp\mmzCCMemo{%
+ \csname tikzext at maxbb@addtolist\endcsname{#1}%
+ }%
+ \fi
+ \tikzset{
+ execute at end picture={%
+ \tikzext at maxbb@setnext{#1}%
+ \tikzext at maxbb@if{#1 at prev}{% not the first run
+ % if memoizing, check whether picture is bigger/different then prev
+ \ifmemoizing
+ \expandafter\ifx\csname tikzext at maxbb@#1 at next\expandafter\endcsname\csname tikzext at maxbb@#1 at prev\endcsname
+ % it's the same
+ \else
+ % it is not the same
+ \mmzAbort
+ \fi
+ \fi
+ }{% first run
+ }%
+ }%
+ }%
+ }
+}
+\def\tikzext at maxbb@setbb#1#2#3#4{%
+ \ifdim#1pt<\pgf at picminx\global\pgf at picminx#1pt\fi
+ \ifdim#3pt>\pgf at picmaxx\global\pgf at picmaxx#3pt\fi
+ \ifdim#2pt<\pgf at picminy\global\pgf at picminy#2pt\fi
+ \ifdim#4pt>\pgf at picmaxy\global\pgf at picmaxy#4pt\fi}
+\def\tikzext at maxbb@setnext#1{%
+ \expandafter\xdef\csname tikzext at maxbb@#1 at next\endcsname
+ {{\pgf at sys@tonumber\pgf at picminx}{\pgf at sys@tonumber\pgf at picminy}%
+ {\pgf at sys@tonumber\pgf at picmaxx}{\pgf at sys@tonumber\pgf at picmaxy}}%
+}%
+
+\ifcsname @ifclassloaded\endcsname % latex?
+ \AtEndDocument{\tikzext at maxbb@write}%
+ \@ifclassloaded{beamer}{% beamer?
+ }{%
+ \expandafter\endinput
+ }%
+\else
+ \pgfutil at everybye\expandafter{\the\pgfutil at everybye\tikzext at maxbb@write}%
+ \expandafter\endinput
+\fi
+
+\newcounter{tikzextbb}
+\resetcounteronoverlays{tikzextbb}
+\tikzextset{
+ sync bounding box/.value forbidden,
+ sync bounding box/.code={%
+ \stepcounter{tikzextbb}%
+ \tikzextset{max bounding box={beamer-\the\value{tikzextbb}}}%
+ }
+}
+
+\long\def\tikzext at beamerfunction@alt #1#2{\alt <#1>{\tikz@@command at path#2;}{\tikz at path@do at at@end}}
+\long\def\tikzext at beamerfunction@uncover #1#2{\uncover <#1>{\tikz@@command at path#2;}\tikz at path@do at at@end}
+\long\def\tikzext at beamerfunction@visible #1#2{\visible <#1>{\tikz@@command at path#2;}\tikz at path@do at at@end}
+\long\def\tikzext at beamerfunction@invisible#1#2{\invisible<#1>{\tikz@@command at path#2;}\tikz at path@do at at@end}
+\let\tikzext at beamerfunction\tikzext at beamerfunction@alt
+
+% Overwriting original dispatchers
+\long\def\tikz at eargnormalsemicolon<#1>#2;{\tikzext at beamerfunction{#1}{#2}}%
+\begingroup
+ \catcode`\;=\active
+ \long\global\def\tikz at eargactivesemicolon<#1>#2;{\tikzext at beamerfunction{#1}{#2}}%
+\endgroup
+
+\let\tikzext at beameroption\relax
+\def\tikzext at setbeameroption#1{%
+ \tikz at addoption{\tikzext at beameroption}%
+ \def\tikzext at beameroption{%
+ #1%
+ \let\tikzext at beameroption\relax
+ }%
+}
+\tikzextset{
+ /utils/ext/only/.code 2 args={\only<#1>{\pgfkeysalso{#2}}},
+ /utils/ext/alt/.code args={#1#2#3}{\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ /utils/ext/temporal/.code n args={4}{\temporal<#1>{\pgfkeysalso{#2}{\pgfkeysalso{#3}{\pgfkeysalso{#4}}}}},
+ beamer function/.is choice,
+ beamer function/original/.code =\let\tikzext at beamerfunction\tikzext at beamerfunction@alt,
+ beamer function/alt/.code =\let\tikzext at beamerfunction\tikzext at beamerfunction@alt,
+ beamer function/only/.code =\let\tikzext at beamerfunction\tikzext at beamerfunction@alt,
+ beamer function/uncover/.code =\let\tikzext at beamerfunction\tikzext at beamerfunction@uncover,
+ beamer function/visible/.code =\let\tikzext at beamerfunction\tikzext at beamerfunction@visible,
+ beamer function/invisible/.code=\let\tikzext at beamerfunction\tikzext at beamerfunction@invisible,
+ uncover/.default=all,
+ uncover/.code={%
+ \tikzext at setbeameroption{%
+ \beamer at noargsonslide<#1>%
+ \aftergroup\beamer at noargsonslide
+ }%
+ },
+ cover/.default=all,
+ cover/.code=%
+ \tikzext at setbeameroption{%
+ \beamer at endpause
+ \beamer at alt<#1>{\beamer at startcovered\gdef\beamer at endpause{\beamer at endcovered}}%
+ {\beamer at spacingcover\gdef\beamer at endpause{\beamer at spacingcover}}%
+ \aftergroup\beamer at noargsonslide
+ },
+ aobs visible/.style={/utils/ext/alt={#1}{}{/tikz/opacity=0,/tikz/text opacity=0}},
+ aobs invisible/.style={/utils/ext/only={#1}{/tikz/opacity=0,/tikz/text opacity=0}},
+ visible/.default=all,
+ visible/.code=%
+ \tikzext at setbeameroption{%
+ \beamer at noargsvisibleonslide<#1>%
+ \aftergroup\beamer at noargsonslide
+ },
+ invisible/.default=all,
+ invisible/.code=%
+ \tikzext at setbeameroption{%
+ \beamer at endpause
+ \beamer at alt<#1>{\beamer at begininvisible\gdef\beamer at endpause{\beamer at endinvisible}}%
+ {\beamer at spacingcover\gdef\beamer at endpause{\beamer at spacingcover}}%
+ \aftergroup\beamer at noargsonslide
+ },
+ uncover'/.style={/tikz/ext/cover={#1}},
+ aobs visible'/.style={/tikz/ext/aobs invisible={#1}},
+ visible'/.style={/tikz/ext/invisible={#1}},
+ cover'/.style={/tikz/ext/uncover={#1}},
+ invisible'/.style={/tikz/ext/visible={#1}},
+ aobs invisible'/.style={/tikz/ext/aobs visible={#1}},
+ /handlers/.ext_</.code=\tikzext at beamer@handler#1\pgf at stop,
+ beamer shortcuts/.code=\pgfqkeys{/tikz/ext/beamer shortcuts}{#1},
+ beamer shortcuts/aot/.code={%
+ \pgfkeysdef{/tikz/alt}{\pgfkeysvalueof{/utils/ext/alt/. at cmd}##1\pgfeov}%
+ \pgfkeysdef{/tikz/only}{\pgfkeysvalueof{/utils/ext/only/. at cmd}##1\pgfeov}%
+ \pgfkeysdef{/tikz/temporal}{\pgfkeysvalueof{/utils/ext/temporal/. at cmd}##1\pgfeov}%
+ },
+ beamer shortcuts/first char/.is choice,
+ beamer shortcuts/@enable first char/.code 2 args={%
+ \pgfkeys at syntax@handlerstrue % \pgfkeys{/handlers/first char syntax=true}%
+ \pgfkeyssetvalue{/handlers/first char syntax/\expandafter\meaning\string#1}{#2}%
+ },
+ beamer shortcuts/enable first char </.style={/tikz/ext/beamer shortcuts/@enable first char={<}{\tikzext at beamer@firstchar}},
+ beamer shortcuts/enable first char/.value required,
+ beamer shortcuts/enable first char/.style={/tikz/ext/beamer shortcuts/@enable first char={#1}{\tikzext at beamer@graphfirstchar}},
+ beamer shortcuts/enable handler/.code={\pgfkeysdef{/handlers/.<}{\pgfkeysvalueof{/handlers/.ext_<}##1\pgfeov}},
+}
+\def\tikzext at temp#1{%
+ \pgfkeysdef{/tikz/ext/beamer shortcuts/first char/#1}{\pgfkeyssetvalue{/tikz/ext/beamer shortcuts/first char}{#1}}}
+\tikzext at temp{visible}
+\tikzext at temp{uncover}
+\tikzext at temp{cover}
+\tikzext at temp{aobs visible}
+\tikzext at temp{aobs invisible}
+\pgfkeyssetvalue{/tikz/ext/beamer shortcuts/first char}{uncover}
+% first char syntax: <*overlay*> → uses "first char" = *overlay*
+% <*overlay*>' → uses "first char"' = *overlay* (i.e. the inverse)
+% <*overlay*> {options} → uses \only<*overlay*>{\pgfkeysalso{options}}
+% <*overlay*>' {options} → uses \alt<*overlay*>{}{\pgfkeysalso{options}} (i.e. the inverse)
+\def\tikzext at beamer@firstchar#1{\tikzext at beamer@firstchar@#1\pgf at stop}
+\def\tikzext at beamer@firstchar@<#1>{%
+ \pgfutil at ifnextchar\pgf at stop{% just the overlay specifications, forward
+ % \pgfkeysvalueof{/tik}
+ \tikzextset{\pgfkeysvalueof{/tikz/ext/beamer shortcuts/first char}={#1}}%
+ \pgfutil at gobble
+ }{%
+ \pgfutil at ifnextchar={% graphs does silly things
+ \tikzext at beamer@firstchar at graph{#1}%
+ }{%
+ \pgfutil at ifnextchar'{% apo = invert overlay specification
+ \tikzext at beamer@firstchar at apo{#1}%
+ }{%
+ \pgfutil at ifnextchar\bgroup{% first options grouped, maybe there are more?
+ \tikzext at beamer@firstchar at onlyoralt{#1}%
+ }{%
+ \tikzext at beamer@firstchar at only{#1}%
+ }%
+ }%
+ }%
+ }%
+}
+\def\tikzext at beamer@firstchar at graph#1=#2\pgf at stop{%
+ \tikzextset{\pgfkeysvalueof{/tikz/ext/beamer shortcuts/first char}={#1}}%
+}
+\def\tikzext at beamer@firstchar at only#1#2\pgf at stop{%
+ \beamer at only<#1>{\pgfkeysalso{#2}}%
+}
+\def\tikzext at beamer@firstchar at onlyoralt#1#2{%
+ \pgfutil at ifnextchar\pgf at stop{%
+ \beamer at only<#1>{\pgfkeysalso{#2}}%
+ \pgfutil at gobble
+ }{% second options, must be in {}
+ \tikzext at beamer@firstchar at altortemp{#1}{#2}%
+ }%
+}
+\def\tikzext at beamer@firstchar at altortemp#1#2#3{%
+ \pgfutil at ifnextchar\pgf at stop{%
+ \beamer at alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
+ \pgfutil at gobble
+ }{% oh, there are third options, must be temporal
+ \tikzext at beamer@firstchar at temp{#1}{#2}{#3}%
+ }%
+}
+\def\tikzext at beamer@firstchar at temp#1#2#3#4\pgf at stop{%
+ \temporal<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}{\pgfkeysalso{#4}}%
+}
+
+\def\tikzext at beamer@firstchar at apo#1'{%
+ \pgfutil at ifnextchar\pgf at stop{% just the overlay specifications, forward (and invert)
+ \tikzextset{\pgfkeysvalueof{/tikz/ext/beamer shortcuts/first char}'={#1}}%
+ \pgfutil at gobble
+ }{%
+ \pgfutil at ifnextchar={% graphs does silly things
+ \tikzext at beamer@firstchar at apo@graph{#1}%
+ }{%
+ \pgfutil at ifnextchar\bgroup{%
+ \tikzext at beamer@firstchar at apo@onlyoralt{#1}%
+ }{%
+ \tikzext at beamer@firstchar at apo@only{#1}%
+ }%
+ }%
+ }%
+}
+\def\tikzext at beamer@firstchar at apo@graph#1=#2\pgf at stop{%
+ \tikzextset{\pgfkeysvalueof{/tikz/ext/beamer shortcuts/first char}'={#1}}%
+}
+\def\tikzext at beamer@firstchar at apo@only#1#2\pgf at stop{%
+ \beamer at alt<#1>{}{\pgfkeysalso{#2}}%
+}
+\def\tikzext at beamer@firstchar at apo@onlyoralt#1#2{%
+ \pgfutil at ifnextchar\pgf at stop{%
+ \beamer at alt<#1>{}{\pgfkeysalso{#2}}%
+ }{% second options, must be in {}
+ \tikzext at beamer@firstchar at apo@altortemp{#1}{#2}%
+ }%
+}
+\def\tikzext at beamer@firstchar at apo@altortemp#1#2#3{%
+ \pgfutil at ifnextchar\pgf at stop{%
+ \beamer at alt<#1>{\pgfkeysalso{#3}}{\pgfkeysalso{#2}}%
+ }{% oh, there arethird options, must be temporal
+ \tikzext at beamer@firstchar at apo@temp{#1}{#2}{#3}%
+ }%
+}
+\def\tikzext at beamer@firstchar at apo@temp#1#2#3#4\pgf at stop{%
+ \temporal<#1>{\pgfkeysalso{#4}}{\pgfkeysalso{#3}}{\pgfkeysalso{#2}}%
+}
+\def\tikzext at beamer@graphfirstchar#1{\expandafter\tikzext at beamer@firstchar@\pgfutil at gobble#1\pgf at stop}
+
+% handler .ext_< = *overlay*> → uses the key w/o options on *overlay*
+% .ext_< = *overlay*>' → uses the key w/o options unless on *overlay*
+% .ext_< = *overlay*> {options} → uses the key /w options on *overlay*
+% .ext_< = *overlay*>' {options} → uses the key /w options unless on *overlay*
+\def\tikzext at beamer@handler#1>{%
+ \pgfutil at ifnextchar\pgf at stop
+ {\beamer at only<#1>{\pgfkeysalso{\pgfkeyscurrentpath}}}%
+ {%
+ \pgfutil at ifnextchar'%
+ {\tikzext at beamer@handler at apo{#1}}%
+ {\tikzext at beamer@handler@{#1}}%
+ }%
+}
+\def\tikzext at beamer@handler@#1#2\pgf at stop{%
+ \beamer at only<#1>{\pgfkeysalso{\pgfkeyscurrentpath={#2}}}%
+}
+\def\tikzext at beamer@handler at apo#1'{%
+ \pgfutil at ifnextchar\pgf at stop{%
+ \beamer at alt<#1>{}{\pgfkeysalso{\pgfkeyscurrentpath}}%
+ \pgfutil at gobble
+ }{%
+ \tikzext at beamer@handler at apo@opts{#1}%
+ }%
+}
+\def\tikzext at beamer@handler at apo@opts#1#2\pgf at stop{%
+ \beamer at alt<#1>{}{\pgfkeysalso{\pgfkeyscurrentpath={#2}}}%
+}
+
+% ext/ keys need special handling in graphs library
+\pgfqkeys{/tikz/graphs}{
+ ext/uncover/.style={
+ /tikz/graphs/@edges styling/.append={,/tikz/ext/uncover={#1}},
+ /tikz/ext/uncover={#1}},
+ ext/visible/.style={
+ /tikz/graphs/@edges styling/.append={,/tikz/ext/visible={#1}},
+ /tikz/ext/visible={#1}},
+ ext/cover/.style={
+ /tikz/graphs/@edges styling/.append={,/tikz/ext/cover={#1}}
+ /tikz/ext/cover={#1}},
+ ext/invisible/.style={
+ /tikz/graphs/@edges styling/.append={,/tikz/ext/invisible={#1}}
+ /tikz/ext/invisible={#1}},
+ ext/better beamer shortcut/.code={%
+ \pgfkeyslet{/handlers/first char syntax/\expandafter\meaning\string<}\relax % disable < shortcut
+ \tikzgraphsset{
+ @edges styling/.append={,/tikz/ext/beamer shortcuts/enable first char <},
+ @nodes styling/.append style={/tikz/ext/beamer shortcuts/enable first char <},
+ /tikz/every label/.append style={/tikz/ext/beamer shortcuts/enable first char <}
+ }%
+ }
+}
\ No newline at end of file
Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.beamer.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.nodes.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.nodes.code.tex 2025-04-13 20:30:07 UTC (rev 74933)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.nodes.code.tex 2025-04-13 20:30:27 UTC (rev 74934)
@@ -194,6 +194,7 @@
\ifpgf at decorate@inputsegmentobjects at reverse left\else right\fi
\fi,
/tikz/ext/auto with offset=true,
+ /tikz/ext/auto offset for brace decoration,
/tikz/pos=\ifpgf at decorate@inputsegmentobjects at reverse1-\fi(\pgfdecorationsegmentaspect)
},
/tikz/ext/nodes/install auto offset for brace decoration/.code=% don't apply twice
More information about the tex-live-commits
mailing list.