From 18d9ec0eba21e6b8c55cdd50afb91c56e02ce7bf Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 20 Dec 2019 03:00:48 +0000 Subject: CTAN sync 201912200300 --- .../base/doc/text-en/pgfmanual-en-base-nodes.tex | 31 +++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'graphics/pgf/base/doc/text-en/pgfmanual-en-base-nodes.tex') diff --git a/graphics/pgf/base/doc/text-en/pgfmanual-en-base-nodes.tex b/graphics/pgf/base/doc/text-en/pgfmanual-en-base-nodes.tex index 4e0ba4f536..b4dda6fa1c 100644 --- a/graphics/pgf/base/doc/text-en/pgfmanual-en-base-nodes.tex +++ b/graphics/pgf/base/doc/text-en/pgfmanual-en-base-nodes.tex @@ -212,7 +212,7 @@ must set up the box |\pgfnodepartXYZbox|. The box will be placed at the anchor Finally, when the node is drawn, the boxes are placed at the anchor positions |text| and |lower|. % -\begin{codeexample}[] +\begin{codeexample}[preamble={\usetikzlibrary{shapes}}] \setbox\pgfnodeparttextbox=\hbox{$q_1$} \setbox\pgfnodepartlowerbox=\hbox{01} \begin{pgfpicture} @@ -552,7 +552,7 @@ commands: |\pgfpointanchor| without any transformations in force. Here is an example: % \makeatletter -\begin{codeexample}[] +\begin{codeexample}[pre={\makeatletter}] \begin{pgfpicture} \pgftransformrotate{30} \pgfnode{rectangle}{center}{Hello World!}{x}{\pgfusepath{stroke}} @@ -726,7 +726,7 @@ similar to the above: area. Note that excessive use of this option (keeping track of dozens of bounding boxes at the same time) will slow things down. % -\begin{codeexample}[] +\begin{codeexample}[preamble={\usetikzlibrary{scopes}}] \begin{tikzpicture} \draw [help lines] (0,0) grid (3,2); { [local bounding box=outer box] @@ -1100,11 +1100,21 @@ The following command declares a new shape: |\pgfpointshapeborder| command, the \meta{code} will be executed to discern this point. When the execution of the \meta{code} starts, the dimensions |\pgf@x| and |\pgf@y| will have been set to a location $p$ - in the shape's coordinate system. It is now the job of the \meta{code} - to set up |\pgf@x| and |\pgf@y| such that they specify the point on the - shape's border that lies on a straight line from the shape's center to - the point $p$. Usually, this is a somewhat complicated computation, - involving many case distinctions and some basic math. + in the shape's coordinate system, and relative to the anchor |center|. + Note that |\pgfpointshapeborder| will produce an error if the shape does + not contain the |center| anchor. + + It is now the job of the \meta{code} to set up |\pgf@x| and |\pgf@y| + such that they specify the point on the shape's border that lies on a + straight line from the shape's center to the point $p$. Usually, this is + a somewhat complicated computation, involving many case distinctions and + some basic math. Note that the output coordinates must be returned in the + shape's coordinate system, \emph{no longer} relative to the |center| + anchor. While these different points of reference are only noticeable if + the |center| anchor is not at the origin of the shape's coordinate system, + it implies that ``doing nothing'' as a border anchor, i.e., returning the + point that was fed to |\pgfpointshapeborder| requires adding the |center| + anchor to the input coordinates. For our |simple rectangle| we must compute a point on the border of a rectangle whose one corner is the origin (ignoring the depth for @@ -1240,7 +1250,10 @@ The following command declares a new shape: on inheritance: % \makeatletter -\begin{codeexample}[] +\begin{codeexample}[ + preamble={\usetikzlibrary{shapes.geometric}}, + pre={\makeatletter}, +] \pgfdeclareshape{document}{ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle \inheritanchorborder[from=rectangle] -- cgit v1.2.3