!NuxCISwYQJuyWwNsEI:matrix.org

PGF/TikZ

53 Members
https://github.com/pgf-tikz12 Servers

Load older messages


SenderMessageTime
1 Feb 2023
@hmenke:matrix.orghmenkeSo far no breakages reported with the new PGF. Looks like we made a good release 🙂17:41:07
13 Feb 2023
@nsajko:matrix.orgnsajko joined the room.14:59:12
@nsajko:matrix.orgnsajkoHello and thanks for maintaining PGF!14:59:46
@nsajko:matrix.orgnsajko

I've been checking out the docs for the base layer, and I think there are some possibilities for improvement regarding the compatibility options:

  1. The version option for setting the compatibility layer is only available for LaTeX. Presumably it should be available for plain and ConTeXt, too. Although I currently only use LaTeX, so I don't care about this much.
  2. Not all possible version options are documented in the manual, latest isn't, and neither is 1.18
  3. Looking at the source https://github.com/pgf-tikz/pgf/blob/master/tex/latex/pgf/basiclayer/pgf.sty#L18-L24, in particular line 22, it seems that there may be a typo, if the users specified 0.96, presumably they should be given 0.96 and not 1.18?
  4. I believe one more option should be available, something like 3.1. It would currently of course be equivalent to latest, but would keep backwards compatibility with version 3.1 in the future.
15:06:43
@nsajko:matrix.orgnsajkoI didn't want to create a Github issue as there are multiple possibly related issues here.15:07:37
@nsajko:matrix.orgnsajko This is section 100.2.1 in the manual. 15:08:17
@nsajko:matrix.orgnsajkoAFK for an hour or so.15:08:32
@hmenke:matrix.orghmenkeThese compatibility layers have been completely abandoned for PGF.15:08:54
@nsajko:matrix.orgnsajko Oh, so basically you're saying it's as if latest was always specified? 15:09:59
@nsajko:matrix.orgnsajkoThat's fine with me.15:10:05
@hmenke:matrix.orghmenkeAlso why do you think there should be a 3.1 compatibility option? Have any basic layer commands been removed in 3.1?15:10:09
@nsajko:matrix.orgnsajko
In reply to @hmenke:matrix.org
These compatibility layers have been completely abandoned for PGF.
Probably the manual should be fixed to remove the references to version?
15:10:52
@nsajko:matrix.orgnsajko
In reply to @hmenke:matrix.org
Also why do you think there should be a 3.1 compatibility option? Have any basic layer commands been removed in 3.1?
No. Well it doesn't matter if the system isn't even used, the idea was just that I want to pick version 3 of PGF, keeping compatibility even when PGF goes to version 4. But it's not important for me, I'll fix my code when you break compatibility.
15:12:06
@nsajko:matrix.orgnsajko
In reply to @hmenke:matrix.org
Also why do you think there should be a 3.1 compatibility option? Have any basic layer commands been removed in 3.1?
* No. Well it doesn't matter if the compat system isn't even used, the idea was just that I want to pick version 3 of PGF, keeping compatibility even when PGF goes to version 4. But it's not important for me, I'll fix my code when you break compatibility.
15:12:22
@hmenke:matrix.orghmenkeThe compatibility layer of PGF never worked this way. What it does is map old commands to new commands, so that you can use PGF basic layer code written for PGF 0.96 with newer versions without having to rewrite the code.15:13:25
@hmenke:matrix.orghmenkeIt does not restore the old commands.15:13:37
@nsajko:matrix.orgnsajkoYeah, I think I understood that already.15:13:58
@hmenke:matrix.orghmenkeSo unless commands are removed there is no reason to add compatibility code.15:14:35
15 Feb 2023
@nsajko:matrix.orgnsajko In the manual, the definition of \pgfcoordinate, and a few other places in the manual, reference the shape coordinate. However, shape coordinate doesn't seem to be documented. 20:11:20
@nsajko:matrix.orgnsajkoIn principle I'm not opposed to reading the source to find out stuff like this, but in this case I don't know where to look.20:12:14
@nsajko:matrix.orgnsajko So what is shape coordinate? 20:12:43
@nsajko:matrix.orgnsajko Unrelated question: suppose I have a node created by a third-party LaTeX package: how do I find out the shape of the node without reading the source of the third-party latex package? 20:15:46
16 Feb 2023
@nsajko:matrix.orgnsajko
In reply to @nsajko:matrix.org
In the manual, the definition of \pgfcoordinate, and a few other places in the manual, reference the shape coordinate. However, shape coordinate doesn't seem to be documented.

OK I found the answer to this, the shape doesn't have it's own entry like other shapes, but there's this paragraph which explains that "coordinate" is confusingly a 2D vector/point:

The three shapes rectangle, circle, and coordinate are always defined and no library needs to be loaded for them. While the coordinate shape defines only the center anchor, the other two shapes define a standard set of anchors.

00:08:56
17 Feb 2023
@muzzi:matrix.orgmuzimuzhi
In reply to @nsajko:matrix.org
In principle I'm not opposed to reading the source to find out stuff like this, but in this case I don't know where to look.

Just in case you're still curious about this.
https://github.com/pgf-tikz/pgf/blob/3.1.10/tex/generic/pgf/modules/pgfmoduleshapes.code.tex#L412-L442

The doc for basic layer is incomplete. I think some basic layer commands are even not mentioned in the pgfmanual.

08:47:26
@muzzi:matrix.orgmuzimuzhi
In reply to @nsajko:matrix.org
Unrelated question: suppose I have a node created by a third-party LaTeX package: how do I find out the shape of the node without reading the source of the third-party latex package?

For node <x>, it's shape is stored in control sequence \pgf@sh@ns@<x>. For example, the example below typesets macro:->rectangle, the shape of node current page

\documentclass{article}
\usepackage{tikz}
\usepackage{etoolbox}

\begin{document}
\ttfamily
\csmeaning{pgf@sh@ns@current page}
\end{document}

I find this with the help of how \pgfnodealias is defined. Suppose \pgfnodealias covers all the info a node name corresponds to.

08:55:10
@muzzi:matrix.orgmuzimuzhi
In reply to @nsajko:matrix.org
Unrelated question: suppose I have a node created by a third-party LaTeX package: how do I find out the shape of the node without reading the source of the third-party latex package?
*

For node <x>, it's shape is stored in control sequence \pgf@sh@ns@<x>. For example, the example below typesets macro:->rectangle, the shape of node current page

\documentclass{article}
\usepackage{tikz}
\usepackage{etoolbox}

\begin{document}
\ttfamily
\csmeaning{pgf@sh@ns@current page}
\end{document}

I find this with the help of how \pgfnodealias is defined. Suppose \pgfnodealias covers all the info a node name corresponds to.

08:55:31
@nsajko:matrix.orgnsajkoThanks!14:41:20
25 Feb 2023
@muzzi:matrix.orgmuzimuzhi Just a small complain: \pgfutil@ifstrequal, defined in pgfutil.code.tex, relies on \pgfsys@strcomp which is defined in pgfsys.code.tex (means \pgfutil@ifstrequal uses engine-specific primitives). This breaks a (never-ever-exist) abstraction contract that I can load pgfrcs package to get access to all \pgfutil@xxx helpers. 10:42:54
10 Mar 2023
@nsajko:matrix.orgnsajkoRedacted or Malformed Event22:32:47
@nsajko:matrix.orgnsajkoRedacted or Malformed Event22:33:17

Show newer messages


Back to Room ListRoom Version: 6