diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 000000000..df4d15b35
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,8 @@
+version: 2
+updates:
+
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ # Check for updates to GitHub Actions every week
+ interval: "weekly"
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index 089beec13..3ab9b82a0 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -9,10 +9,13 @@ jobs:
image: registry.gitlab.com/islandoftex/images/texlive:latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
+ - name: Fixup Run actions/checkout
+ run: git config --global --add safe.directory '*'
+
- name: Generate the revision file
run: |
export tagname=$(git describe --abbrev=0 --tags)
@@ -28,7 +31,7 @@ jobs:
- name: Archive failed test output
if: failure()
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: test-diff-files
path: build/test*/*.diff
diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml
index 5b017630c..6523cd1ab 100644
--- a/.github/workflows/dco.yml
+++ b/.github/workflows/dco.yml
@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
index dedb9f6b2..9052eb07c 100644
--- a/.github/workflows/doc.yml
+++ b/.github/workflows/doc.yml
@@ -9,10 +9,13 @@ jobs:
image: registry.gitlab.com/islandoftex/images/texlive:latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
+ - name: Fixup Run actions/checkout
+ run: git config --global --add safe.directory '*'
+
- name: Generate the revision file
run: |
export tagname=$(git describe --abbrev=0 --tags)
@@ -26,11 +29,32 @@ jobs:
run: |
l3build doc -q
- - uses: actions/upload-artifact@v2
+ - name: Analyze manual log
+ run: |
+ # set a notice message
+ # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions?tool=bash#setting-a-notice-message
+ # create multiline annotations by using URL-encoded newline "%0A"
+ # https://github.com/actions/toolkit/issues/193#issuecomment-605394935
+ OVERFULL_HBOX=$(
+ grep -r '^Overfull \\hbox' build/doc/pgfmanual.log |
+ awk 'BEGIN {RS=""}{gsub(/\n/,"%0A",$0); print $0}'
+ )
+ echo "::notice file=build/doc/pgfmanual.log,title=Overfull hbox(es)::$OVERFULL_HBOX"
+
+ - name: Upload manual
+ uses: actions/upload-artifact@v4
with:
name: pgfmanual
path: build/doc/pgfmanual.pdf
+ - name: Upload manual with aux
+ uses: actions/upload-artifact@v4
+ with:
+ name: pgfmanual-with-aux
+ path: |
+ build/doc/pgfmanual.*
+ !build/doc/pgfmanual.tex
+
- name: Deploy tlcontrib
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 815d2e46d..9f3c9197d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -12,10 +12,13 @@ jobs:
image: registry.gitlab.com/islandoftex/images/texlive:latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
+ - name: Fixup Run actions/checkout
+ run: git config --global --add safe.directory '*'
+
- name: Generate the revision file
run: |
export tagname=$(git describe --abbrev=0 --tags)
@@ -48,7 +51,7 @@ jobs:
run: |
l3build ctan
- - uses: actions/upload-artifact@v2
+ - uses: actions/upload-artifact@v4
with:
name: pgfmanual
path: build/doc/pgfmanual.pdf
@@ -86,7 +89,7 @@ jobs:
body_path: RELEASE_NOTES.md
- name: "Release: upload assets"
- uses: actions/github-script@v5
+ uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
@@ -121,9 +124,13 @@ jobs:
- name: "CTAN: Validate"
run: |
- l3build upload --dry-run --date "$tagdate" "$tagname"
+ # temp workaround for l3build 2022-11-10
+ # see https://github.com/latex3/l3build/issues/264
+ echo "n" | l3build upload --dry-run --date "$tagdate" "$tagname"
- name: "CTAN: Upload"
if: github.repository == 'pgf-tikz/pgf'
run: |
- l3build upload --date "$tagdate" "$tagname"
+ # temp workaround for l3build 2022-11-10
+ # https://github.com/latex3/l3build/issues/265
+ echo "y" | l3build upload --date "$tagdate" "$tagname"
diff --git a/.gitignore b/.gitignore
index e2f0d201a..36b8097e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,8 @@
*.out
*.pdf
*.svg
+*.synctex.gz
*.toc
-*.zip
+*.zip
build/*
diff --git a/README.md b/README.md
index cd2d79518..00d578bd5 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# pgf – A Portable Graphic Format for TeX
-![CI](https://github.com/pgf-tikz/pgf/workflows/CI/badge.svg)
+![Test suite](https://github.com/pgf-tikz/pgf/actions/workflows/check.yml/badge.svg?branch=master)
PGF is a TeX macro package for generating graphics. It is platform-
and format-independent and works together with the most important TeX
diff --git a/build.lua b/build.lua
index cffe654b9..570f7df5b 100644
--- a/build.lua
+++ b/build.lua
@@ -12,19 +12,13 @@ docfiledir = "./doc/generic/pgf"
docfiles =
{
"RELEASE_NOTES.md", "description.html", -- Part of the release script
- "color.cfg", "pgfmanual.cfg", "images/*.jpg", "*.tex" -- Build the PDF
+ "color.cfg", "pgfmanual.cfg", "images", "plots", "*.tex" -- Build the manual
}
tdsroot = "generic"
typesetfiles = {"pgfmanual.tex"}
typesetexe = "lualatex"
flatten = false
--- To allow writing
-function docinit_hook()
- mkdir(typesetdir .. "/plots")
- return 0
-end
-
-- Set up to allow testing dvips, etc.
specialformats = specialformats or {}
specialformats["latex"] = specialformats["latex"] or
@@ -43,9 +37,6 @@ checkengines = {"pdftex", "latexdvips", "latexdvisvgm", "luatex", "xetex"}
-- Use multiple sets of tests
checkconfigs = { "build", "config-gd" }
---- Keep all \special data (may one day be the l3build default)
-maxprintline = 9999
-
-- For release
ctanzip = "pgf.ctan.flatdir"
packtdszip = true
@@ -63,7 +54,7 @@ uploadconfig = {
ctanPath = "/graphics/pgf/base",
description = [[
PGF is a macro package for creating graphics. It is platform- and format-independent and works together with the most important TeX backend drivers, including pdfTeX and dvips. It comes with a user-friendly syntax layer called TikZ.
Its usage is similar to pstricks and the standard picture environment. PGF works with plain (pdf-)TeX, (pdf-)LaTeX, and ConTeXt. Unlike pstricks, it can produce either PostScript or PDF output.
]],
email = "pgf-tikz@tug.org",
- license = "fdl;gpl2;lppl1.3c",
+ license = { "fdl", "gpl2", "lppl1.3c" },
note_file = "CTAN_NOTES.md",
pkg = "pgf",
repository = "https://github.com/pgf-tikz/pgf",
@@ -89,9 +80,3 @@ function tag_hook(tagname, tagdate)
return 0
end
-target_list = target_list or { }
-target_list.revisionfile =
- {
- desc = "Create revision data file",
- func = revisionfile
- }
diff --git a/doc/generic/pgf/CHANGELOG.md b/doc/generic/pgf/CHANGELOG.md
index 8e4fa23e4..bd8a8ab28 100644
--- a/doc/generic/pgf/CHANGELOG.md
+++ b/doc/generic/pgf/CHANGELOG.md
@@ -4,7 +4,44 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-## [Unreleased]
+## Unreleased
+
+### BREAKING CHANGES
+
+### Added
+
+- Add `RGB` and `gray` color model support for ConTeXt #1130
+
+### Fixed
+
+- Typo in animations `end on` key #1273
+- Output bounding box adjustment in pgfsys-dvisvgm.def #1275
+- Fix shadings under LuaMetaTeX
+- Resolve missing `gnuplot` plots in manual #1238
+
+### Changed
+
+- Typo fixes in the manual
+- Simplify short verb `|...|` or add required preamble for it
+- Harden parser for math expressions against active chars
+- Resolve overfull hboxes >=20pt in the manual
+- Adapt `\graphicspath` setting for flattened doc tree #1191
+- Promote warning "Plot data file \`...' not found" to error
+
+### Contributors
+
+- Andreas Deininger
+- Joseph Wright
+- Marcel Krüger
+- Matthias Hetzenberger
+- Qrrbrbirlbel
+- quark67
+- Rocky Zhang (@rockyzhz)
+- Yukai Chou (@muzimuzhi)
+- Alexander Grahn
+- Max Chernoff
+
+## [3.1.10] - 2023-01-13 Henri Menke
Even though this release is not too heavy on user-facing additions it has seen a
lot of contributed changes. Thanks to everyone who volunteered their time!
@@ -43,6 +80,7 @@ lot of contributed changes. Thanks to everyone who volunteered their time!
- Add Developer Certificate of Origin (DCO) to Pull Request template and enforce
- Add test set for `graphdrawing` (gd)
- pgfkeys gained support for loading libraries
+- Add dependabot to keep GitHub Actions up to date
### Fixed
@@ -82,6 +120,7 @@ lot of contributed changes. Thanks to everyone who volunteered their time!
- pgfkeys was a bit too relaxed around `\relax` #1132
- Remove spurious spaces for `3d view` #1151
- Fix incorrectly placed matrix delimiters for implicitly positioned nodes #1102
+- Use `/.append` to fix a wrong usage of `/.add` in pgfmanual #1201
### Changed
@@ -3293,7 +3332,7 @@ will be the stable version.
- Created ChangeLog
- Added pgfshade.sty
-[Unreleased]: https://github.com/pgf-tikz/pgf/compare/3.1.9a...HEAD
+[3.1.10]: https://github.com/pgf-tikz/pgf/compare/3.1.9a...3.1.10
[3.1.9a]: https://github.com/pgf-tikz/pgf/compare/3.1.9...3.1.9a
[3.1.9]: https://github.com/pgf-tikz/pgf/compare/3.1.8b...3.1.9
[3.1.8b]: https://github.com/pgf-tikz/pgf/compare/3.1.8a...3.1.8b
diff --git a/doc/generic/pgf/pgfmanual-en-base-arrows.tex b/doc/generic/pgf/pgfmanual-en-base-arrows.tex
index 4fd20d425..285d89753 100644
--- a/doc/generic/pgf/pgfmanual-en-base-arrows.tex
+++ b/doc/generic/pgf/pgfmanual-en-base-arrows.tex
@@ -484,7 +484,7 @@ \subsection{Declaring an Arrow Tip Kind}
these ways is use can be configured by setting \meta{mode} to
either |orthogonal| or to |polar|. It is best to try simply try out
both when designing an arrow tip to see which works better. Since
- |orthogonal| is quicker and often gives good oder even better
+ |orthogonal| is quicker and often gives good or even better
results, it is the default. Some arrow tips, however, profit from
saying |bending mode=polar|.
\item \declare{|defaults|}|=|\meta{arrow keys}
diff --git a/doc/generic/pgf/pgfmanual-en-base-quick.tex b/doc/generic/pgf/pgfmanual-en-base-quick.tex
index 3813556b9..b3b2f3c2f 100644
--- a/doc/generic/pgf/pgfmanual-en-base-quick.tex
+++ b/doc/generic/pgf/pgfmanual-en-base-quick.tex
@@ -100,7 +100,7 @@ \subsection{Quick Path Construction Commands}
\begin{command}{\pgfpathqcircle\marg{radius}}
Adds a radius around the origin of the given \meta{radius}. This command is
- orders of magnitude faster than |\pgfcircle{\pgfpointorigin}{|\meta{radius}|}|.
+ orders of magnitude faster than |\pgfpathcircle{\pgfpointorigin}{|\meta{radius}|}|.
%
\begin{codeexample}[]
\colorlet{examplefill}{yellow!80!black}
diff --git a/doc/generic/pgf/pgfmanual-en-base-scopes.tex b/doc/generic/pgf/pgfmanual-en-base-scopes.tex
index 070bfffc0..6e533b44e 100644
--- a/doc/generic/pgf/pgfmanual-en-base-scopes.tex
+++ b/doc/generic/pgf/pgfmanual-en-base-scopes.tex
@@ -278,7 +278,7 @@ \subsubsection{The Main Environment}
Sometimes, you may need more fine-grained control over the size of the
bounding box. For example, the computed bounding box may be too large or
- you intensionally wish the box to be ``too small''. In these cases, you can
+ you intentionally wish the box to be ``too small''. In these cases, you can
use the command |\pgfusepath{use as bounding box}|, as described in
Section~\ref{section-using-bb}.
diff --git a/doc/generic/pgf/pgfmanual-en-base-shadings.tex b/doc/generic/pgf/pgfmanual-en-base-shadings.tex
index a091bc31b..08985d819 100644
--- a/doc/generic/pgf/pgfmanual-en-base-shadings.tex
+++ b/doc/generic/pgf/pgfmanual-en-base-shadings.tex
@@ -64,8 +64,8 @@ \subsubsection{Color models}
\textbf{Note:} The color model chosen for a shading is based on the |xcolor|
color model \emph{at the time the shading is created}. This is either when
-\cs{pgfdeclare*shading} is called with no optional argument or when
-\cs{pgfuseshading} is called if \cs{pgfdeclare*shading} was called with an
+|\pgfdeclare*shading| is called with no optional argument or when
+|\pgfuseshading| is called if |\pgfdeclare*shading| was called with an
optional argument.
If the |xcolor| package |natural| color model is in use then the shading color
@@ -357,7 +357,7 @@ \subsubsection{General (Functional) Shadings}
defined, which store the individual components of \meta{color name}.
These can also be used in the \meta{type 4 function} argument.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{shortvrb} \MakeShortVerb{\|}}]
\pgfshadecolortorgb{orange}{\mycol}
|\mycol|=\mycol |\mycolred|=\mycolred |\mycolgreen|=\mycolgreen |\mycolblue|=\mycolblue
\end{codeexample}
@@ -422,7 +422,7 @@ \subsubsection{General (Functional) Shadings}
By nature, the PostScript code used in functional shadings must output one of
\textsc{rgb}, \textsc{cmyk}, or grayscale data. Therefore,
-\cs{pgfdeclarefunctionalshading} is \emph{not} portable across color models.
+|\pgfdeclarefunctionalshading| is \emph{not} portable across color models.
Take particular care that the same color model is in use at declaration time
and use time for functional shadings declared with an optional argument as
@@ -431,9 +431,9 @@ \subsubsection{General (Functional) Shadings}
Having said this, it \emph{is} possible to create portable functional shadings
by providing conditional code to append color transformations to the
-PostScript data. A variety of \cs{pgffuncshading*to*} (e.g.,
-\cs{pgffuncshadingrgbtocmyk}) macros along with \cs{ifpgfshadingmodel*} (e.g.,
-\cs{ifpgfshadingmodelcmyk}) conditionals are provided to assist with these
+PostScript data. A variety of |\pgffuncshading*to*| (e.g.,
+|\pgffuncshadingrgbtocmyk|) macros along with |\ifpgfshadingmodel*| (e.g.,
+|\ifpgfshadingmodelcmyk|) conditionals are provided to assist with these
transformations. Obviously, this will make the PostScript code less efficient
than if you work in your intended color model.
@@ -498,51 +498,51 @@ \subsubsection{General (Functional) Shadings}
\begin{command}{\pgffuncshadingrgbtocmyk}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top 3 elements on the stack from \textsc{rgb} to \textsc{cmyk}. In
- combination with the \cs{ifpgfshadingmodelcmyk} conditional this macro can
+ combination with the |\ifpgfshadingmodelcmyk| conditional this macro can
be used to make functional shading declarations more portable across color
models.
\end{command}
\begin{command}{\pgffuncshadingrgbtogray}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top 3 elements on the stack from \textsc{rgb} to grayscale. In combination
- with the \cs{ifpgfshadingmodelgray} conditional this macro can be used to
+ with the |\ifpgfshadingmodelgray| conditional this macro can be used to
make functional shading declarations more portable across color models.
\end{command}
\begin{command}{\pgffuncshadingcmyktorgb}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top 4 elements on the stack from \textsc{cmyk} to \textsc{rgb}. In
- combination with the \cs{ifpgfshadingmodelrgb} conditional this macro can be
+ combination with the |\ifpgfshadingmodelrgb| conditional this macro can be
used to make functional shading declarations more portable across color
models.
\end{command}
\begin{command}{\pgffuncshadingcmyktogray}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top 4 elements on the stack from \textsc{cmyk} to grayscale. In combination
- with the \cs{ifpgfshadingmodelgray} conditional this macro can be used to
+ with the |\ifpgfshadingmodelgray| conditional this macro can be used to
make functional shading declarations more portable across color models.
\end{command}
\begin{command}{\pgffuncshadinggraytorgb}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top element on the stack from grayscale to \textsc{rgb}. In combination with
- the \cs{ifpgfshadingmodelrgb} conditional this macro can be used to make
+ the |\ifpgfshadingmodelrgb| conditional this macro can be used to make
functional shading declarations more portable across color models.
\end{command}
\begin{command}{\pgffuncshadinggraytocmyk}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to convert the
+ |\pgfdeclarefunctionalshading|, this command can be used to convert the
top element on the stack from grayscale to \textsc{cmyk}. In combination
- with the \cs{ifpgfshadingmodelcmyk} conditional this macro can be used to
+ with the |\ifpgfshadingmodelcmyk| conditional this macro can be used to
make functional shading declarations more portable across color models.
\end{command}
@@ -551,7 +551,7 @@ \subsubsection{General (Functional) Shadings}
\let\ifpgfshadingmodelgray=\relax
\begin{command}{\ifpgfshadingmodelrgb}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to test if the
+ |\pgfdeclarefunctionalshading|, this command can be used to test if the
|xcolor| color model is |rgb| \emph{at the time the shading is created}.
This can be used to ensure that the data output in the \meta{type 4
function} correctly matches the active color model.
@@ -559,7 +559,7 @@ \subsubsection{General (Functional) Shadings}
\begin{command}{\ifpgfshadingmodelcmyk}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to test if the
+ |\pgfdeclarefunctionalshading|, this command can be used to test if the
|xcolor| color model is |cmyk| \emph{at the time the shading is created}.
This can be used to ensure that the data output in the \meta{type 4
function} correctly matches the active color model.
@@ -567,7 +567,7 @@ \subsubsection{General (Functional) Shadings}
\begin{command}{\ifpgfshadingmodelgray}
Within the \meta{type 4 function} argument of
- \cs{pgfdeclarefunctionalshading}, this command can be used to test if the
+ |\pgfdeclarefunctionalshading|, this command can be used to test if the
|xcolor| color model is |gray| \emph{at the time the shading is created}.
This can be used to ensure that the data output in the \meta{type 4
function} correctly matches the active color model.
diff --git a/doc/generic/pgf/pgfmanual-en-dv-main.tex b/doc/generic/pgf/pgfmanual-en-dv-main.tex
index 3502d4610..af25dcd75 100644
--- a/doc/generic/pgf/pgfmanual-en-dv-main.tex
+++ b/doc/generic/pgf/pgfmanual-en-dv-main.tex
@@ -531,7 +531,7 @@ \subsection{Usage}
defined data group \meta{name} is inserted. The \meta{options} are also
executed.
- Let is now first create a data group. Note that nothing is drawn since the
+ Let us now first create a data group. Note that nothing is drawn since the
``dummy'' data visualization is empty and used only for the definition of
the data group.
%
diff --git a/doc/generic/pgf/pgfmanual-en-gd-algorithm-layer.tex b/doc/generic/pgf/pgfmanual-en-gd-algorithm-layer.tex
index c4f8c4ed6..1c7eb7e92 100644
--- a/doc/generic/pgf/pgfmanual-en-gd-algorithm-layer.tex
+++ b/doc/generic/pgf/pgfmanual-en-gd-algorithm-layer.tex
@@ -494,7 +494,7 @@ \subsubsection{Adding External Documentation}
documentation
[[
This key can be used together with |very simple example layout|. An
-important feature ist that...
+important feature is that...
]]
example
[[
diff --git a/doc/generic/pgf/pgfmanual-en-gd-usage-pgf.tex b/doc/generic/pgf/pgfmanual-en-gd-usage-pgf.tex
index 91ca8d1b8..63af27c8f 100644
--- a/doc/generic/pgf/pgfmanual-en-gd-usage-pgf.tex
+++ b/doc/generic/pgf/pgfmanual-en-gd-usage-pgf.tex
@@ -410,9 +410,9 @@ \subsubsection{Graph Drawing Scopes}
|(10pt,20pt)--(30pt,40pt)| in \tikzname-syntax and may include the path
commands |--|, |..| (followed by Bézier coordinates), and |--cycle|.
- The parameter \meta{animations} contains algorithmically-generated
- animation commands (calls to |\pgfanimateattribute|. The |whom| will be set
- to |pgf@gd|.
+ The last parameter \meta{animations} contains algorithmically-generated
+ animation commands (calls to |\pgfanimateattribute|). The |whom|
+ will be set to |pgf@gd|.
The default \meta{macro} simply draws a line between the nodes. When the
|graphdrawing| library of the \tikzname\ layer is loaded, a more fancy
@@ -626,7 +626,7 @@ \subsection{Events}
graph that is actually a tree in which some node ``misses'' its first child. In
this case, the information that the child is missing is neither part of any
node (because the node is missing, after all) nor is it an option of the whole
-graph. However, events are created by the parser the allow an algorithm to
+graph. However, events are created by the parser to allow an algorithm to
reconstruct the fact that the child is missing. Naturally, graph drawing
algorithms may choose to ignore events and most will.
diff --git a/doc/generic/pgf/pgfmanual-en-guidelines.tex b/doc/generic/pgf/pgfmanual-en-guidelines.tex
index 9511d88cd..d405d69b4 100644
--- a/doc/generic/pgf/pgfmanual-en-guidelines.tex
+++ b/doc/generic/pgf/pgfmanual-en-guidelines.tex
@@ -645,7 +645,7 @@ \subsection{Attention and Distraction}
\item Background patterns filling an area using diagonal lines or
horizontal and vertical lines or just dots are almost always
distracting and, usually, serve no real purpose.
- \item Background images and shadings distract and only seldomly add
+ \item Background images and shadings distract and only seldom add
anything of importance to a graphic.
\item Cute little clip arts can easily draw attention away from the data.
\end{itemize}
diff --git a/doc/generic/pgf/pgfmanual-en-introduction.tex b/doc/generic/pgf/pgfmanual-en-introduction.tex
index 36670f485..afe6c808d 100644
--- a/doc/generic/pgf/pgfmanual-en-introduction.tex
+++ b/doc/generic/pgf/pgfmanual-en-introduction.tex
@@ -19,7 +19,7 @@ \section{Introduction}
will teach you almost all you should know about \tikzname\ without your having
to read the rest.
-I wish to start with the questions ``What is \tikzname?'' Basically, it just
+I wish to start with the question ``What is \tikzname?'' Basically, it just
defines a number of \TeX\ commands that draw graphics. For example, the code
|\tikz \draw (0pt,0pt) -- (20pt,6pt);| yields the line \tikz \draw (0pt,0pt) --
(20pt,6pt); and the code |\tikz \fill[orange] (1ex,1ex) circle (1ex);| yields
diff --git a/doc/generic/pgf/pgfmanual-en-library-automata.tex b/doc/generic/pgf/pgfmanual-en-library-automata.tex
index c56bb6fd1..7fc516f9b 100644
--- a/doc/generic/pgf/pgfmanual-en-library-automata.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-automata.tex
@@ -284,10 +284,11 @@ \subsection{Examples}
are orange. Then, we must find a path from a red state to a green state.
%
\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning,shadows}}]
-\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>={Stealth[round]},thick,
- every state/.style={fill,draw=none,orange,text=white,circular drop shadow},
- accepting/.style ={green!50!black,text=white},
- initial/.style ={red,text=white}]
+\begin{tikzpicture}
+ [shorten >=1pt,node distance=2cm,on grid,>={Stealth[round]},thick,
+ every state/.style={fill,draw=none,orange,text=white,circular drop shadow},
+ accepting/.style ={green!50!black,text=white},
+ initial/.style ={red,text=white}]
\node[state,initial] (q_0) {$q_0$};
\node[state] (q_1) [above right=of q_0] {$q_1$};
@@ -306,7 +307,7 @@ \subsection{Examples}
The next example is the current candidate for the five-state busiest beaver:
%
\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning}}]
-\begin{tikzpicture}[->,>={Stealth[round]},shorten >=1pt,%
+\begin{tikzpicture}[->,>={Stealth[round]},shorten >=1pt,
auto,node distance=2cm,on grid,semithick,
inner sep=2pt,bend angle=45]
\node[initial,state] (A) {$q_a$};
diff --git a/doc/generic/pgf/pgfmanual-en-library-calendar.tex b/doc/generic/pgf/pgfmanual-en-library-calendar.tex
index 971da06bd..66a2a49c8 100644
--- a/doc/generic/pgf/pgfmanual-en-library-calendar.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-calendar.tex
@@ -261,7 +261,7 @@ \subsection{Calendar Command}
\end{codeexample}
\end{key}
- \begin{key}{/tikz/every day (initially anchor=base east)}
+ \begin{key}{/tikz/every day (initially {anchor=base east})}
This style is executed by the default node code for each day. The
|every day| style is useful for changing the way days look. For
example, let us make all days red:
diff --git a/doc/generic/pgf/pgfmanual-en-library-circuits.tex b/doc/generic/pgf/pgfmanual-en-library-circuits.tex
index a0d29f60a..7595a0fd3 100644
--- a/doc/generic/pgf/pgfmanual-en-library-circuits.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-circuits.tex
@@ -90,7 +90,7 @@ \subsubsection{A First Example}
\emph{exactly the same source code}, with only the options of the
|{tikzpicture}| environment replaced by
|[rotate=-90,circuit ee IEC,x=3.25cm,y=2.25cm]|:
-%
+
\begin{tikzpicture}[rotate=-90,circuit ee IEC,x=3cm,y=2.25cm]
% Let us start with some contacts:
\foreach \contact/\y in {1/1,2/2,3/3.5,4/4.5,5/5.5}
diff --git a/doc/generic/pgf/pgfmanual-en-library-decorations.tex b/doc/generic/pgf/pgfmanual-en-library-decorations.tex
index ca6e67a37..c03007ce8 100644
--- a/doc/generic/pgf/pgfmanual-en-library-decorations.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-decorations.tex
@@ -605,10 +605,10 @@ \subsection{Path Replacing Decorations}
}
}
-\tikzpicture
+\begin{tikzpicture}
\draw [postaction=show curve controls, thick]
(0,2) .. controls (2.5,1.5) and (0.5,0.5) .. (3,0);
-\endtikzpicture
+\end{tikzpicture}
\end{codeexample}
}%
%
@@ -651,7 +651,7 @@ \subsection{Arbitrary Markings}
%
If we use this code as a marking at position |2cm| on a path, then the
following happens: \pgfname\ determines the position on the path that is
- 2cm along the path. Then is translates the coordinate system to this
+ 2cm along the path. Then it translates the coordinate system to this
position and rotates it such that the positive $x$-axis is tangent to the
path. Then a protective scope is created, inside which the above code is
executed -- resulting in a little cross on the path.
diff --git a/doc/generic/pgf/pgfmanual-en-library-edges.tex b/doc/generic/pgf/pgfmanual-en-library-edges.tex
index 51332af0c..a37c75a8c 100644
--- a/doc/generic/pgf/pgfmanual-en-library-edges.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-edges.tex
@@ -178,7 +178,7 @@ \subsection{Curves}
target coordinates.
The fixed factor has been chosen in such a way that if \meta{number} is
- |1|, if the |in| and |out| angles differ by 90$\circ$, then a quarter
+ |1|, if the |in| and |out| angles differ by 90$^\circ$, then a quarter
circle results:
%
\begin{codeexample}[]
diff --git a/doc/generic/pgf/pgfmanual-en-library-external.tex b/doc/generic/pgf/pgfmanual-en-library-external.tex
index f96dd42d6..e7ddea783 100644
--- a/doc/generic/pgf/pgfmanual-en-library-external.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-external.tex
@@ -1088,8 +1088,7 @@ \subsection{Bitmap Graphics Export}
% This style is not pre-defined, you may need to copy-paste and
% adjust it.
png export/.style={
- external/system call/.add=
- {}
+ external/system call/.append=
{; convert -density 300 -transparent white "\image.pdf" "\image.png"},
%
/pgf/images/external info,
diff --git a/doc/generic/pgf/pgfmanual-en-library-fpu.tex b/doc/generic/pgf/pgfmanual-en-library-fpu.tex
index b6fa99112..f99228d90 100644
--- a/doc/generic/pgf/pgfmanual-en-library-fpu.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-fpu.tex
@@ -184,7 +184,7 @@ \subsection{Usage}
\end{key}
-\subsection{Comparison to the fixed point arithmetics library}
+\subsection{Comparison to the fixed point arithmetic library}
There are other ways to increase the data range and/or the precision of
\pgfname's math parser. One of them is the |fp| package, preferable combined
@@ -618,7 +618,7 @@ \subsubsection{Math Operations Commands}
\begin{command}{\pgfmathfloatmultiplyfixed\marg{float}\marg{fixed}}
Defines |\pgfmathresult| to be $\meta{float} \cdot \meta{fixed}$ where
\meta{float} is a floating point number and \meta{fixed} is a fixed point
- number. The computation is performed in floating point arithmetics, that
+ number. The computation is performed in floating point arithmetic, that
means we compute $m \cdot \meta{fixed}$ and renormalize the result where
$m$ is the mantissa of \meta{float}.
@@ -674,7 +674,7 @@ \subsubsection{Math Operations Commands}
\begin{command}{\pgfmathlog{\marg{x}}}
Defines |\pgfmathresult| to be the natural logarithm of \meta{x},
$\ln(\meta{x})$. This method is logically the same as |\pgfmathln|, but it
- applies floating point arithmetics to read number \meta{x} and employs the
+ applies floating point arithmetic to read number \meta{x} and employs the
logarithm identity \[ \ln(m \cdot 10^e) = \ln(m) + e \cdot \ln(10) \] to
get the result. The factor $\ln(10)$ is a constant, so only $\ln(m)$ with
$1 \le m < 10$ needs to be computed. This is done using standard pgf math
diff --git a/doc/generic/pgf/pgfmanual-en-library-patterns.tex b/doc/generic/pgf/pgfmanual-en-library-patterns.tex
index 40a370d3f..3fcdd413d 100644
--- a/doc/generic/pgf/pgfmanual-en-library-patterns.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-patterns.tex
@@ -150,7 +150,6 @@ \subsection{User-Defined Patterns}
%
\begin{key}{/pgf/patterns/tile size=\meta{pgfpoint}}
Width and height of a single of the pattern as a \pgfname\ point
- specification, i.e. the $x$ coordinate is the width and the $y$
specification, i.e.\ the $x$ coordinate is the width and the $y$
coordinate is the height, e.g.\ |\pgfqpoint{3pt}{3pt}|.
\end{key}
@@ -222,8 +221,9 @@ \subsection{User-Defined Patterns}
just rotate in the drawing code.
\begin{pattern}{Lines}
- The |Lines| pattern replaces the |horizontal lines|, |vertical lines|,
- |north east lines|, and |north west lines| patterns. Unfortunately, due to
+ The |Lines| pattern replaces four patterns: |horizontal lines|,
+ |vertical lines|, |north east lines|, and |north west lines|.
+ Unfortunately, due to
the way the old patterns are constructed, namely that they are not simply
related to each other by rotation, the |Lines| pattern cannot be used as a
drop-in replacement.
diff --git a/doc/generic/pgf/pgfmanual-en-library-rdf.tex b/doc/generic/pgf/pgfmanual-en-library-rdf.tex
index 0e8a88de6..e582f3321 100644
--- a/doc/generic/pgf/pgfmanual-en-library-rdf.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-rdf.tex
@@ -254,16 +254,16 @@ \subsection{Creating Statements}
\item As for |subject| and |predicate|, you can use the syntax
|(|\meta{name of node or scope}|)| to create and use a curie
for the node or scope.
- \item If the \meta{object} starts with |"|, it must have the syntax
- |"|\meta{literals}|"|. In this case, the object of the
+ \item If the \meta{object} starts with |"| and is of the form
+ |"|\meta{literals}|"|, the object of the
statement is not a curie (not a normal ``resource'') but the
string of \meta{literals} given.
\item If the \meta{object} is the text ``|scope content|'', the
object of the statement is actually the whole contents of the
scope to which this statement is attached.
- \item The two previous cases can be combined in the form of an
- object of the form |"|\meta{literals}|" and scope content|. In
- this case, the contents of the scope is ``normally'' the
+ \item Finally if the \meta{object} is of the form
+ |"|\meta{literals}|" and scope content|, the contents of the
+ scope is ``normally'' the
object, but this gets ``overruled'' by the \meta{literals}.
Formally, this means that the object is the \meta{literals},
but the intended semantics is that the object is the scope
diff --git a/doc/generic/pgf/pgfmanual-en-library-shapes.tex b/doc/generic/pgf/pgfmanual-en-library-shapes.tex
index 26055b271..e94ec5ca8 100644
--- a/doc/generic/pgf/pgfmanual-en-library-shapes.tex
+++ b/doc/generic/pgf/pgfmanual-en-library-shapes.tex
@@ -461,7 +461,7 @@ \subsection{Geometric Shapes}
Sets the angle of the apex of the isosceles triangle.
\end{key}
- \begin{key}{/pgf/isosceles triangle stretches=\meta{boolean} (default true)}
+ \begin{key}{/pgf/isosceles triangle stretches=\meta{boolean} (default false)}
By default \meta{boolean} is |false|. This means, that when applying
any minimum width or minimum height requirements, increasing the height
will increase the width (and vice versa), in order to keep the apex
diff --git a/doc/generic/pgf/pgfmanual-en-main-preamble.tex b/doc/generic/pgf/pgfmanual-en-main-preamble.tex
index 8e04c8768..b5f5b11b1 100644
--- a/doc/generic/pgf/pgfmanual-en-main-preamble.tex
+++ b/doc/generic/pgf/pgfmanual-en-main-preamble.tex
@@ -100,7 +100,7 @@
perspective,
}
-\usepackage{ifluatex}
+\usepackage{iftex}
\newif\ifgdccodebasic
\newif\ifgdccodeogdf
@@ -168,14 +168,7 @@
% required by luatextra. Needs to be \relaxed since
% pgfmanual-en-macros.tex defines an environment named filedescription
\let\filedescription\relax
- \usepackage[utf8]{luainputenc}
- % dvisvgm does not support OpenType fonts so we have to bite the bullet and
- % use T1 where quotes are weird. In LuaTeX \outputmode=0 means DVI.
- \ifnum\outputmode=0
- \usepackage[T1]{fontenc}
- \fi
\else
- \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
@@ -183,7 +176,7 @@
% require texlive 2021 or above
\tracinglostchars=3
-\graphicspath{{../../images/}}
+\graphicspath{{images/}}
\input{pgfmanual-en-macros}
\usepackage{todonotes}
diff --git a/doc/generic/pgf/pgfmanual-en-math-numberprinting.tex b/doc/generic/pgf/pgfmanual-en-math-numberprinting.tex
index 72b60ef6d..30f9d46ec 100644
--- a/doc/generic/pgf/pgfmanual-en-math-numberprinting.tex
+++ b/doc/generic/pgf/pgfmanual-en-math-numberprinting.tex
@@ -184,7 +184,7 @@ \section{Number Printing}
\paragraph{Second use-case:}
improve rounding in the presence of \emph{inaccurate} numbers. Let us
- suppose that some limited-precision arithmetics resulted in the result
+ suppose that some limited-precision arithmetic resulted in the result
|123456999| (like the |fpu| of \pgfname). You know that its precision is
about five or six significant digits. And you want to provide a fixed point
output. In this case, the trailing digits |....999| are a numerical
@@ -398,7 +398,7 @@ \section{Number Printing}
\begin{key}{/pgf/number format/frac shift=\marg{integer} (initially 4)}
In case you experience problems because of stability problems, try
experimenting with a different |frac shift|. Higher shift values $k$
- yield higher sensitivity to inaccurate data or inaccurate arithmetics.
+ yield higher sensitivity to inaccurate data or inaccurate arithmetic.
Technically, the following happens. If $r < 1$ is the fractional part
of the mantissa, then a scale $i = 1/r \cdot 10^k$ is computed where
diff --git a/doc/generic/pgf/pgfmanual-en-math-parsing.tex b/doc/generic/pgf/pgfmanual-en-math-parsing.tex
index 4dd79cbc6..50466e9e1 100644
--- a/doc/generic/pgf/pgfmanual-en-math-parsing.tex
+++ b/doc/generic/pgf/pgfmanual-en-math-parsing.tex
@@ -203,8 +203,7 @@ \subsubsection{Commands}
\end{command}
\begin{command}{\pgfmathsetlengthmacro\marg{macro}\marg{expression}}
- Defines \meta{macro} as the value of \meta{expression} \LaTeX{} \emph{in
- points}.
+ Defines \meta{macro} as the value of \meta{expression} \emph{in points}.
\end{command}
\begin{command}{\pgfmathtruncatemacro\marg{macro}\marg{expression}}
@@ -809,8 +808,8 @@ \subsubsection{Rounding functions}
\end{math-function}
-\subsubsection{Integer arithmetics functions}
-\label{pgfmath-functions-integerarithmetics}
+\subsubsection{Integer arithmetic functions}
+\label{pgfmath-functions-integerarithmetic}
\begin{math-function}{gcd(\mvar{x},\mvar{y})}
\mathcommand
diff --git a/doc/generic/pgf/pgfmanual-en-pgffor.tex b/doc/generic/pgf/pgfmanual-en-pgffor.tex
index 94a41fbfe..f76f6fe64 100644
--- a/doc/generic/pgf/pgfmanual-en-pgffor.tex
+++ b/doc/generic/pgf/pgfmanual-en-pgffor.tex
@@ -100,7 +100,7 @@ \section{Repeating Things: The Foreach Statement}
``missing values''. More precisely, the following happens:
Normally, when a list item |...| is encountered, there should already have
- been \emph{two} list items before it, which where numbers. Examples of
+ been \emph{two} list items before it, which were numbers. Examples of
\emph{numbers} are |1|, |-10|, or |-0.24|. Let us call these numbers $x$
and $y$ and let $d := y-x$ be their difference. Next, there should also be
one number following the three dots, let us call this number~$z$.
diff --git a/doc/generic/pgf/pgfmanual-en-pgfkeys.tex b/doc/generic/pgf/pgfmanual-en-pgfkeys.tex
index aee930a29..f922ec351 100644
--- a/doc/generic/pgf/pgfmanual-en-pgfkeys.tex
+++ b/doc/generic/pgf/pgfmanual-en-pgfkeys.tex
@@ -565,12 +565,12 @@ \subsubsection{Keys That Execute Commands}
``\meta{text}|+|\meta{more text}'' and wishes to store \meta{text} and
\meta{more text} in two different macros. This can be achieved as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{shortvrb} \MakeShortVerb{\|}}]
\def\mystore#1+#2\pgfeov{\def\a{#1}\def\b{#2}}
\pgfkeyslet{/my key/.@cmd}{\mystore}
\pgfkeys{/my key=hello+world}
-|\a| is \a, |\b| is \b.
+|\a| is `\a', |\b| is `\b'.
\end{codeexample}
Naturally, defining the code to be stored in a key in the above manner is too
@@ -604,7 +604,7 @@ \subsubsection{Keys That Execute Commands}
This command works like |\pgfkeysdef|, but it allows you to provide an
arbitrary \meta{argument count} between $0$ and $9$ (inclusive).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{shortvrb} \MakeShortVerb{\|}}]
\pgfkeysdefnargs{/my key}{2}{\def\a{#1}\def\b{#2}}
\pgfkeys{/my key=
{hello}
@@ -624,11 +624,11 @@ \subsubsection{Keys That Execute Commands}
This command works like |\pgfkeysdefnargs|, but it allows you to provide an
arbitrary \meta{argument pattern} rather than just a number of arguments.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{shortvrb} \MakeShortVerb{\|}}]
\pgfkeysdefargs{/my key}{#1+#2}{\def\a{#1}\def\b{#2}}
\pgfkeys{/my key=hello+world}
-|\a| is \a, |\b| is \b.
+|\a| is `\a', |\b| is `\b'.
\end{codeexample}
%
Note that |\pgfkeysdefnargs| is \emph{better} when it comes to simple
@@ -995,7 +995,7 @@ \subsubsection{Defining Key Codes}
special value |\pgfkeysnovalue|.
It is permissible that \meta{code} calls the command |\pgfkeys|. It is also
- permissible the \meta{code} calls the command |\pgfkeysalso|, which is
+ permissible that \meta{code} calls the command |\pgfkeysalso|, which is
useful for styles, see below.
%
\begin{codeexample}[code only]
@@ -1289,7 +1289,7 @@ \subsubsection{Defining Value-, Macro-, If- and Choice-Keys}
\end{handler}
\begin{handler}{{.prefix}|=|\marg{prefix value}}
- Adds the \meta{prefix value} and the beginning of the value stored in
+ Adds the \meta{prefix value} at the beginning of the value stored in
\meta{key}.
\end{handler}
@@ -1374,8 +1374,8 @@ \subsubsection{Defining Value-, Macro-, If- and Choice-Keys}
%
\begin{codeexample}[code only]
\pgfkeys{/line cap/.is choice}
-\pgfkeys{/line cap/round/.code={\pgfsetbuttcap}}
-\pgfkeys{/line cap/butt/.code={\pgfsetroundcap}}
+\pgfkeys{/line cap/round/.code={\pgfsetroundcap}}
+\pgfkeys{/line cap/butt/.code={\pgfsetbuttcap}}
\pgfkeys{/line cap/rect/.code={\pgfsetrectcap}}
\pgfkeys{/line cap/rectangle/.style={/line cap=rect}}
...
diff --git a/doc/generic/pgf/pgfmanual-en-pgfsys-commands.tex b/doc/generic/pgf/pgfmanual-en-pgfsys-commands.tex
index 03d697b98..dd80accf0 100644
--- a/doc/generic/pgf/pgfmanual-en-pgfsys-commands.tex
+++ b/doc/generic/pgf/pgfmanual-en-pgfsys-commands.tex
@@ -922,10 +922,14 @@ \subsection{Transparency System Commands}
transformation should not apply to the following graphics, however.
\end{command}
+\pagebreak[2]
\begin{command}{\pgfsys@clipfading}
This command has a default implementation and need not be implemented by
driver files other than |pgfsys-dvips.def|. The macro is called
- in |\pgfsetfadingforcurrentpath| and |\pgfsetfadingforcurrentpathstroked|
+ in
+ \begin{quote}
+ |\pgfsetfadingforcurrentpath| and |\pgfsetfadingforcurrentpathstroked|
+ \end{quote}
of the basic layer, where it invokes the current path for clipping the
shading just before installing it as an opacity mask for fading. The
default implementation is actually a non-operation, but with |dvips| it
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-actions.tex b/doc/generic/pgf/pgfmanual-en-tikz-actions.tex
index 2cd528bfa..2eb198e63 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-actions.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-actions.tex
@@ -1296,7 +1296,7 @@ \subsection{Doing Multiple Actions on a Path}
\end{tikzpicture}
\end{codeexample}
- Note that when the preactions are preformed, then the path is already
+ Note that when the preactions are performed, then the path is already
``finished''. In particular, applying a coordinate transformation to the
path has no effect. By comparison, applying a canvas transformation does
have an effect. Let us use this to add a ``shadow'' to a path. For this, we
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-arrows.tex b/doc/generic/pgf/pgfmanual-en-tikz-arrows.tex
index 91bf2477d..f691e350a 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-arrows.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-arrows.tex
@@ -544,7 +544,7 @@ \subsubsection{Scaling}
want it to be a little bit larger than usual''. In such cases, the following
keys are useful:
-\begin{key}{/pgf/arrows keys/scale=\meta{factor} (initially 1)}
+\begin{key}{/pgf/arrow keys/scale=\meta{factor} (initially 1)}
After all the other options listed in the previous (and also the following
sections) have been processed, \tikzname\ applies a \emph{scaling} to the
computed length, inset, and width of the arrow tip (and, possibly, to other
@@ -567,7 +567,7 @@ \subsubsection{Scaling}
keys (the |scale| key is just a shorthand for setting both of the following
keys simultaneously):
-\begin{key}{/pgf/arrows keys/scale length=\meta{factor} (initially 1)}
+\begin{key}{/pgf/arrow keys/scale length=\meta{factor} (initially 1)}
This factor works like |scale|, only it is applied only to dimensions
``along the axis of the arrow'', that is, to the length and to the inset,
but not to the width.
@@ -582,7 +582,7 @@ \subsubsection{Scaling}
%
\end{key}
-\begin{key}{/pgf/arrows keys/scale width=\meta{factor} (initially 1)}
+\begin{key}{/pgf/arrow keys/scale width=\meta{factor} (initially 1)}
Like |scale length|, but for dimensions related to the width.
%
\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-coordinates.tex b/doc/generic/pgf/pgfmanual-en-tikz-coordinates.tex
index bf6047fc1..243c1bf73 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-coordinates.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-coordinates.tex
@@ -380,11 +380,11 @@ \subsubsection{Node Coordinate System}
Specifies an anchor of the node. Here is an example:
%
\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
-\begin{tikzpicture}
- \node (shape) at (0,2) [draw] {|class Shape|};
- \node (rect) at (-2,0) [draw] {|class Rectangle|};
- \node (circle) at (2,0) [draw] {|class Circle|};
- \node (ellipse) at (6,0) [draw] {|class Ellipse|};
+\begin{tikzpicture}[node font=\ttfamily]
+ \node (shape) at (0,2) [draw] {class Shape};
+ \node (rect) at (-2,0) [draw] {class Rectangle};
+ \node (circle) at (2,0) [draw] {class Circle};
+ \node (ellipse) at (6,0) [draw] {class Ellipse};
\draw (node cs:name=circle,anchor=north) |- (0,1);
\draw (node cs:name=ellipse,anchor=north) |- (0,1);
@@ -663,6 +663,7 @@ \subsubsection{Defining New Coordinate Systems}
\define@key{cylindricalkeys}{angle}{\def\myangle{#1}}
\define@key{cylindricalkeys}{radius}{\def\myradius{#1}}
\define@key{cylindricalkeys}{z}{\def\myz{#1}}
+\makeatother
\tikzdeclarecoordinatesystem{cylindrical}%
{%
\setkeys{cylindricalkeys}{#1}%
@@ -774,7 +775,7 @@ \subsubsection{Intersections of Arbitrary Paths}
To find the intersections of two paths in \tikzname, they must be ``named''. A
``named path'' is, quite simply, a path that has been named using the following
key (note that this is a \emph{different} key from the |name| key, which only
-attaches a hyperlink target to a path, but does not store the path in a way the
+attaches a hyperlink target to a path, but does not store the path in a way that
is useful for the intersection computation):
\begin{keylist}{%
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-graphs.tex b/doc/generic/pgf/pgfmanual-en-tikz-graphs.tex
index 4165bb8cf..196032061 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-graphs.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-graphs.tex
@@ -2773,7 +2773,7 @@ \subsubsection{Placement on a Grid}
rows needed to lay out the graph in a grid with $M$ columns.
%
\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
-% An example with 6 nodes, 3 columns and therefor 2 rows
+% An example with 6 nodes, 3 columns and therefore 2 rows
\tikz \graph [grid placement] { subgraph I_n[n=6, wrap after=3] };
\end{codeexample}
%
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-matrices.tex b/doc/generic/pgf/pgfmanual-en-tikz-matrices.tex
index f46ad79b7..4391792ec 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-matrices.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-matrices.tex
@@ -486,24 +486,28 @@ \subsubsection{Cell Styles and Options}
\begin{codeexample}[preamble={\usetikzlibrary{matrix,fit}}]
\begin{tikzpicture}[
font=\sffamily,
- striped col/.style={column #1/.append style={
- every even row/.style={nodes={fill=olive!50}}}},
- head color/.style args={#1/#2}{column #1/.append style={
- row 1/.append style={nodes={fill=#2}}}}
+ head color/.style args={#1/#2}{
+ row 1 column #1/.append style={nodes={fill=#2}}},
+ % swap order of row and column styles
+ matrix/inner style order={
+ every cell,
+ row, even odd row,
+ column, even odd column,
+ cell
+ }
]
\matrix [
matrix of nodes, nodes in empty cells,
nodes={text width=2cm, align=center,
minimum height=1.5em, anchor=center},
- striped col/.list={1,...,5}, % add striped col style to all cols
- column 1/.style={ % Override stripes and modify the feature column
- row 1 column 1/.style={nodes={fill=none, draw=none}},
- nodes={fill=olive, inner ysep=0},
- },
- % modify headers first via common styles and then specific colors
- row 1/.style={nodes={text depth=0.2ex, text width=2cm, text=white}},
- head color/.list={2/orange,3/teal,4/cyan,5/magenta}
+ % add striped row style
+ every even row/.style={nodes={fill=olive!50}},
+ % modify the feature column and header row
+ column 1/.style= {nodes={fill=olive, inner ysep=0}},
+ row 1/.style= {nodes={text depth=0.2ex, text=white}},
+ row 1 column 1/.style={nodes={fill=none, draw=none}},
+ head color/.list={2/orange,3/teal,4/cyan,5/magenta} % specify header colors
] (m)
{
& Basic & Standard & Professional & Enterprise \\
@@ -515,7 +519,7 @@ \subsubsection{Cell Styles and Options}
};
% Add emphasis on selection by the use of "fit" library
\node[fit={(m-1-4.north west) (m-6-4.south east)},
- ultra thick, inner sep=0, rounded corners=1mm,
+ ultra thick, inner sep=0pt, rounded corners=1mm,
draw=cyan, label={[cyan,align=center]270:Popular\\Choice!}]{};
\end{tikzpicture}
\end{codeexample}
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-shapes.tex b/doc/generic/pgf/pgfmanual-en-tikz-shapes.tex
index f30010976..2490fa6fa 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-shapes.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-shapes.tex
@@ -59,7 +59,7 @@ \subsection{Nodes and Their Shapes}
parentheses. Lastly, for the |node| operation you must provide some label text
for the node in curly braces, while for the |coordinate| operation you may not.
The node is placed at the current position of the path either \emph{after the
-path has been drawn} or (more seldomly and only if you add the |behind path|
+path has been drawn} or (more seldom and only if you add the |behind path|
option) \emph{just before the path is drawn.} Thus, all nodes are drawn ``on
top'' or ``behind'' the path and are retained until the path is complete. If
there are several nodes on a path, perhaps some behind and some on top of the
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-transformations.tex b/doc/generic/pgf/pgfmanual-en-tikz-transformations.tex
index baa38cb43..29cfc6448 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-transformations.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-transformations.tex
@@ -146,7 +146,7 @@ \subsection{Coordinate Transformations}
transformations}. Whenever you specify a coordinate as in |(1,0)| or
|(1cm,1pt)| or |(30:2cm)|, this coordinate is first ``reduced'' to a position
of the form ``$x$ points to the right and $y$ points upwards''. For example,
-|(1in,5pt)| is reduced to ``$72\frac{72}{100}$ points to the right and 5 points
+|(1in,5pt)| is reduced to ``$72\frac{27}{100}$ points to the right and 5 points
upwards'' and |(90:100pt)| means ``0pt to the right and 100 points upwards''.
The next step is to apply the current \emph{coordinate transformation matrix}
diff --git a/doc/generic/pgf/pgfmanual-en-tikz-transparency.tex b/doc/generic/pgf/pgfmanual-en-tikz-transparency.tex
index 1e2a20aba..54cd7839f 100644
--- a/doc/generic/pgf/pgfmanual-en-tikz-transparency.tex
+++ b/doc/generic/pgf/pgfmanual-en-tikz-transparency.tex
@@ -455,9 +455,9 @@ \subsubsection{Creating Fadings}
%
\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzfadingfrompicture}[name=tikz]
- \node [text=transparent!20]
- {\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont
- Ti\emph{k}Z};
+ \node [text=transparent!20,
+ font=\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries]
+ {Ti\emph{k}Z};
\end{tikzfadingfrompicture}
% Now we use the fading in another picture:
@@ -856,8 +856,9 @@ \subsection{Transparency Groups}
\shade [left color=red,right color=blue] (-2,-1) rectangle (2,1);
\begin{scope}[transparency group=knockout]
\fill [white] (-1.9,-.9) rectangle (1.9,.9);
- \node [opacity=0,font=\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries]
- {Ti\emph{k}Z};
+ \node [opacity=0,
+ font=\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries]
+ {Ti\emph{k}Z};
\end{scope}
\end{tikzpicture}
\end{codeexample}
diff --git a/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c b/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c
index b5606f2f3..40c9dca84 100644
--- a/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c
+++ b/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c
@@ -225,7 +225,7 @@ static char* make_string_from(lua_State* L, const char* name)
{
lua_getfield(L, -1, name);
if (lua_isnil(L, -1)) {
- // Field not set; return emtpy string.
+ // Field not set; return empty string.
lua_pop(L, 1);
return (char*) calloc(1, sizeof(char));
}
diff --git a/testfiles/pgf001.latexdvisvgm.tlg b/testfiles/pgf001.latexdvisvgm.tlg
index 39c95113d..8d3b0f6ec 100644
--- a/testfiles/pgf001.latexdvisvgm.tlg
+++ b/testfiles/pgf001.latexdvisvgm.tlg
@@ -7,6 +7,7 @@ TEST 1: pgf: \pgfpathmoveto
\hbox(0.0+0.0)x0.0, direction TLT
.\hbox(0.0+0.0)x0.0, direction TLT
..\special{dvisvgm:bbox 0.0 0.0}
+..\special{dvisvgm:bbox lock}
..\hbox(0.0+0.0)x0.0, direction TLT
...\glue -28.45274
...\hbox(0.0+0.0)x0.0, shifted 28.45274, direction TLT
@@ -25,6 +26,7 @@ TEST 1: pgf: \pgfpathmoveto
....\special{dvisvgm:raw }
....\special{color pop}
....\glue 0.0 plus 1.0fil minus 1.0fil
+..\special{dvisvgm:bbox unlock}
! OK.
\ENDPGFTEST ...th =\maxdimen \showbox \PGFTESTBOX
\endgroup \ENDTEST
@@ -37,6 +39,7 @@ TEST 2: pgf: \pgfpathlineto
\hbox(0.0+0.0)x0.0, direction TLT
.\hbox(0.0+0.0)x0.0, direction TLT
..\special{dvisvgm:bbox 0.0 0.0}
+..\special{dvisvgm:bbox lock}
..\hbox(0.0+0.0)x0.0, direction TLT
...\glue -28.45274
...\hbox(0.0+0.0)x0.0, shifted 28.45274, direction TLT
@@ -55,6 +58,7 @@ TEST 2: pgf: \pgfpathlineto
....\special{dvisvgm:raw }
....\special{color pop}
....\glue 0.0 plus 1.0fil minus 1.0fil
+..\special{dvisvgm:bbox unlock}
! OK.
\ENDPGFTEST ...th =\maxdimen \showbox \PGFTESTBOX
\endgroup \ENDTEST
diff --git a/testfiles/pgf002.latexdvisvgm.tlg b/testfiles/pgf002.latexdvisvgm.tlg
index 7fcf81f6f..6bb8d40b9 100644
--- a/testfiles/pgf002.latexdvisvgm.tlg
+++ b/testfiles/pgf002.latexdvisvgm.tlg
@@ -7,6 +7,7 @@ TEST 1: tikz: matrix
\hbox(20.1619+0.0)x44.16382, direction TLT
.\hbox(20.1619+0.0)x44.16382, direction TLT
..\special{dvisvgm:bbox 44.16382 20.1619}
+..\special{dvisvgm:bbox lock}
..\hbox(20.1619+0.0)x44.16382, direction TLT
...\glue 22.08191
...\hbox(0.0+0.0)x0.0, shifted -10.08095, direction TLT
@@ -47,7 +48,7 @@ TEST 1: tikz: matrix
.................\special{dvisvgm:raw {?nl} }
.................\special{dvisvgm:raw }
.................\hbox(4.48+0.11)x5.0, direction TLT
-..................\FONT16 ^^\
+..................\TU/lmr/m/n/10 a
.................\special{dvisvgm:raw }
.................\special{dvisvgm:raw {?nl} }
...............\special{dvisvgm:raw }
@@ -83,7 +84,7 @@ TEST 1: tikz: matrix
.................\special{dvisvgm:raw {?nl} }
.................\special{dvisvgm:raw }
.................\hbox(6.83+0.0)x7.5, direction TLT
-..................\FONT16 s
+..................\TU/lmr/m/n/10 X
.................\special{dvisvgm:raw }
.................\special{dvisvgm:raw {?nl} }
...............\special{dvisvgm:raw }
@@ -119,7 +120,7 @@ TEST 1: tikz: matrix
.................\special{dvisvgm:raw {?nl} }
.................\special{dvisvgm:raw }
.................\hbox(4.53+2.06)x5.0, direction TLT
-..................\FONT16 ;
+..................\TU/lmr/m/n/10 g
.................\special{dvisvgm:raw }
.................\special{dvisvgm:raw {?nl} }
...............\special{dvisvgm:raw }
@@ -144,6 +145,7 @@ TEST 1: tikz: matrix
....\special{dvisvgm:raw }
....\special{color pop}
....\glue 0.0 plus 1.0fil minus 1.0fil
+..\special{dvisvgm:bbox unlock}
! OK.
\ENDTIKZTEST ...h =\maxdimen \showbox \PGFTESTBOX
\endgroup \ENDTEST
diff --git a/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex b/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
index e33f0653c..55661bd6b 100644
--- a/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
+++ b/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
@@ -70,10 +70,10 @@
\def\pgfprocesssplitsubpath#1{%
% First, we need to find the end:
- \let\pgf@tempa\pgfutil@emtpy%
- \let\pgf@tempb\pgfutil@emtpy%
- \let\pgf@tempc\pgfutil@emtpy%
- \let\pgf@tempd\pgfutil@emtpy%
+ \let\pgf@tempa\pgfutil@empty%
+ \let\pgf@tempb\pgfutil@empty%
+ \let\pgf@tempc\pgfutil@empty%
+ \let\pgf@tempd\pgfutil@empty%
\let\pgfprocessresultsubpathprefix\pgfutil@empty%
\let\pgfprocessresultsubpathsuffix\pgfutil@empty%
\let\pgf@next\pgf@split@subpath%
diff --git a/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex b/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
index 39a40c54e..94ecb1a35 100644
--- a/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+++ b/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
@@ -723,7 +723,7 @@
}
\def\pgffuncshadingcmyktorgb{%
- % covert to CMY
+ % convert to CMY
dup 3 1 roll add
1.0 2 copy gt { exch } if pop
4 1 roll
@@ -733,7 +733,7 @@
add
1.0 2 copy gt { exch } if pop
3 1 roll
- % covert to RGB
+ % convert to RGB
1.0 exch sub
3 1 roll
1.0 exch sub
diff --git a/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex b/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
index 20a173580..964e26804 100644
--- a/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
+++ b/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
@@ -2053,7 +2053,7 @@
% it resets the length and normal counters. It will setup a completely
% new counting of lengths and counters inside the current scope.
%
-% The placmenet/place key is executed automatically whenever a new
+% The placement/place key is executed automatically whenever a new
% node is automatically created. Furthermore, placement strategies
% will call this key.
diff --git a/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex b/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
index 7b3fc12bf..90b868771 100644
--- a/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
+++ b/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
@@ -484,7 +484,7 @@
begin/.code=\tikz@anim@add@once{\pgfanimationset{begin={#1}}},
end/.code=\tikz@anim@add@once{\pgfanimationset{end={#1}}},
begin on/.code=\tikz@anim@event{begin}{#1},
- end on/.code=\tikz@anim@event{begin}{#1},
+ end on/.code=\tikz@anim@event{end}{#1},
begin snapshot/.code=\tikz@anim@add{\pgfanimationset{begin snapshot={#1}}},
origin/.code=\tikz@anim@parse@origin{#1},
transform/.code=\tikz@anim@add{\pgfanimationset{transform={\let\tikz@transform\relax\tikzset{#1}}}},
diff --git a/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex b/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
index 9b76858b3..d9b1743b9 100644
--- a/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+++ b/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
@@ -2497,7 +2497,7 @@
\global\let\tikz@expand@last@token=\pgf@let@token
\tikz@finish%
%
- % To be combatible with `scopes` lib, which uses a redefined
+ % To be compatible with `scopes` lib, which uses a redefined
% \tikz@lib@scope@check to check the next token, the reinsertion is done
% here, not at the end of (every) \tikz@finish.
%
diff --git a/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex b/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
index 3ac0d476f..c3149c5e3 100644
--- a/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
+++ b/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
@@ -85,7 +85,7 @@
\pgfkeyssetvalue{/data point/\pgf@lib@attribute}\pgf@lib@low
\pgfcanvaspositionofdatapoint%
\pgfsettocanvasposition\pgf@dv@lib@lowpoint%
- % Ok, compute hight point
+ % Ok, compute high point
\pgfkeyssetvalue{/data point/\pgf@lib@attribute}\pgf@lib@high
\pgfcanvaspositionofdatapoint%
\pgfsettocanvasposition\pgf@dv@lib@highpoint%
diff --git a/tex/generic/pgf/libraries/pgflibraryarrows.code.tex b/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
index 96216c5f2..f78bb3cb0 100644
--- a/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+++ b/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
@@ -617,7 +617,7 @@
-% The halfs of the $\to$ arrow reversed
+% The halves of the $\to$ arrow reversed
\pgfarrowsdeclare{left to reversed}{left to reversed}
{
diff --git a/tex/generic/pgf/libraries/pgflibraryfpu.code.tex b/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
index a93fa7f90..b72d5102a 100644
--- a/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
+++ b/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
@@ -2097,7 +2097,7 @@
\pgfmathfloatshift@{\pgfmathfloat@loc@TMPa}{\pgfmathfloat@k}%
}%
% determine 'k'. This is a heuristics. The exponential series
-% converges best for |x| <= 1. However, the fixed point arithmetics
+% converges best for |x| <= 1. However, the fixed point arithmetic
% for tex results in best results for large |x|. Well, I'll need to
% tune this here.
\def\pgfmathfloatexp@@toint#1.#2\relax{%
diff --git a/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex b/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
index 71d03f953..d7b42b5d6 100644
--- a/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
+++ b/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
@@ -1087,7 +1087,7 @@
\edef\outersep{\the\pgf@x}%
%
% The \externalradius is a length that is
- % guarenteed to produce a point outside the trapezium.
+ % guaranteed to produce a point outside the trapezium.
%
\advance\pgf@xc2.0\pgf@x%
\pgf@yc\halfheight\relax%
@@ -1099,7 +1099,7 @@
\edef\externalradius{\the\pgf@xc}%
\fi%
%
- % Calculate the centre base and mid poins of the node.
+ % Calculate the centre base and mid points of the node.
%
\pgfextract@process\centerpoint{%
\pgf@x.5\wd\pgfnodeparttextbox%
@@ -1462,7 +1462,7 @@
\pgfmathanglebetweenpoints{\referencepoint}{\pgfqpoint{\externalx}{\externaly}}%
%
% *Subtract* the rotation from the external angle. This is
- % why the border point angles do not neeed to be rotated.
+ % why the border point angles do not need to be rotated.
%
\pgfmathsubtract@{\pgfmathresult}{\rotate}%
\ifdim\pgfmathresult pt<0pt\relax%
diff --git a/tex/generic/pgf/math/pgfmathcalc.code.tex b/tex/generic/pgf/math/pgfmathcalc.code.tex
index 1e854864d..4524326e6 100755
--- a/tex/generic/pgf/math/pgfmathcalc.code.tex
+++ b/tex/generic/pgf/math/pgfmathcalc.code.tex
@@ -353,12 +353,12 @@
%
% A bit experimental at the moment:
%
-% Locates the point where a line crosses an eliptical arc. If the line
+% Locates the point where a line crosses an elliptical arc. If the line
% does not cross the arc, a meaningless point will result.
%
% #1 the point of the line on the "convex" side of the arc.
% #2 the point of the line on the "concave" side of the arc.
-% #3 the center of the eliptical arc.
+% #3 the center of the elliptical arc.
% #4 start angle of the arc.
% #5 end angle of the arc.
% #6 radii of the arc.
diff --git a/tex/generic/pgf/math/pgfmathfunctions.random.code.tex b/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
index 969762c6c..8f3668425 100644
--- a/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
+++ b/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
@@ -17,7 +17,7 @@
% \book@{pressetal1992,
% author = {William H. Press and Brian P. Flannery and Saul A.
% Teukolsky and William T. Vetterling},
-% title = {Numerical Recipies in C},
+% title = {Numerical Recipes in C},
% edition = {Second},
% publisher = {Cambridge University Press}
% }
diff --git a/tex/generic/pgf/math/pgfmathparser.code.tex b/tex/generic/pgf/math/pgfmathparser.code.tex
index 8a560ff11..379aa9952 100755
--- a/tex/generic/pgf/math/pgfmathparser.code.tex
+++ b/tex/generic/pgf/math/pgfmathparser.code.tex
@@ -352,7 +352,7 @@
\expandafter\ifx\csname pgfmath@token@functional@\string#1\endcsname\relax%
\let\pgfmath@base=\pgfmath@empty%
\let\pgfmath@token@next=\pgfmath@token%
- \if#10% Check for octal prefix.
+ \if\noexpand#10% Check for octal prefix.
\ifpgfmath@octalparsing%
\def\pgfmath@base{8}%
\fi%
@@ -428,7 +428,7 @@
\expandafter\pgfmath@stack@push@operand\expandafter{\pgfmath@number}%
\let\pgfmath@parse@next=\pgfmath@parse@@@operator%
\else%
- \expandafter\ifcat\pgfmath@token\relax% A CS?
+ \expandafter\ifcat\expandafter\noexpand\pgfmath@token\relax% A CS?
\expandafter\ifx\csname pgfmath@token@dimexpr@\expandafter\string\pgfmath@token\endcsname\relax%
\expandafter\ifx\pgfmath@token\numexpr%
\let\pgfmath@parse@next=\pgfmath@parse@numexpr%
@@ -448,7 +448,7 @@
\else% A count register.
\pgfmath@count=\pgfmath@token%
\expandafter\def\expandafter\pgfmath@number\expandafter{\the\pgfmath@count}%
- \expandafter\ifcat\pgfmath@token@next\relax%
+ \expandafter\ifcat\expandafter\noexpand\pgfmath@token@next\relax%
% A CS following a count register should be \wd, \ht or \dp.
\let\pgfmath@parse@next=\pgfmath@parse@number%
\else%
@@ -475,15 +475,15 @@
\expandafter\ifx\csname pgfmath@token@numeric@\expandafter\string\pgfmath@token\endcsname\relax%
% It isn't numeric (i.e., 012345679.), so it might be units...
% first double-character units...
- \expandafter\ifx\csname pgfmath@token@unit@\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@token@unit@\expandafter\string\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
% then single-character units...
- \expandafter\ifx\csname pgfmath@token@unit@\pgfmath@token\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@token@unit@\expandafter\string\pgfmath@token\endcsname\relax%
% ...or the exponent characters...
- \expandafter\ifx\csname pgfmath@token@exponent@\pgfmath@token\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@token@exponent@\expandafter\string\pgfmath@token\endcsname\relax%
% ...or a base prefix...
- \expandafter\ifx\csname pgfmath@base@\pgfmath@number\pgfmath@token\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@base@\expandafter\pgfmath@number\expandafter\string\pgfmath@token\endcsname\relax%
% ...or a math unit...
- \expandafter\ifx\csname pgfmath@token@mathunit@\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@token@mathunit@\expandafter\string\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
% ...none of the above...
\ifx\pgfmath@base\pgfmath@empty%
\let\pgfmathresult=\pgfmath@number%
@@ -509,7 +509,7 @@
\else%
% ...here, it is a base prefix 0x, 0X, 0b or 0B
\expandafter\let\expandafter\pgfmath@base\expandafter=%
- \csname pgfmath@base@\pgfmath@number\pgfmath@token\endcsname%
+ \csname pgfmath@base@\expandafter\pgfmath@number\expandafter\string\pgfmath@token\endcsname%
\let\pgfmath@parse@next=\pgfmath@parse@base%
\fi%
\else% ... and here, it is the exponent characters.
@@ -583,7 +583,7 @@
\def\pgfmath@parse@numexpr@#1{%
\expandafter\def\expandafter\pgfmath@number\expandafter{\the\pgfmath@count}%
\def\pgfmath@token@next{#1}%
- \expandafter\ifcat\pgfmath@token@next\relax%
+ \expandafter\ifcat\expandafter\noexpand\pgfmath@token@next\relax%
% A CS following a count register should be \wd, \ht or \dp.
\let\pgfmath@parse@next=\pgfmath@parse@number%
\else%
@@ -715,9 +715,9 @@
\pgfmath@parse@@@operator}
\def\pgfmath@parse@@@operator{%
- \expandafter\ifx\csname pgfmath@operator@\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@operator@\expandafter\string\pgfmath@token\expandafter\string\pgfmath@token@next\endcsname\relax%
% Not a double character operator.
- \expandafter\ifx\csname pgfmath@operator@\pgfmath@token\endcsname\relax%
+ \expandafter\ifx\csname pgfmath@operator@\expandafter\string\pgfmath@token\endcsname\relax%
% Not a single character operator.
\pgfmath@error{Unknown operator `\pgfmath@token' or `\pgfmath@token\pgfmath@token@next'}{}%
\def\pgfmathresult{0}%
@@ -727,7 +727,7 @@
\ifx\pgfmath@token\pgfmath@text@@%
\let\pgfmath@parse@next=\pgfmath@parse@end%
\else%
- \expandafter\ifx\csname pgfmath@operation@\pgfmath@token @postfix\endcsname\pgfmath@token%
+ \expandafter\ifx\csname pgfmath@operation@\expandafter\string\pgfmath@token @postfix\endcsname\pgfmath@token%
% Postfix operators are followed by an operator.
\ifx\pgfmath@token@next\pgfmath@char@leftbracket% Except [.
\let\pgfmath@parse@next=\pgfmath@parse@operand%
diff --git a/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex b/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
index 96686aa73..1c79ba748 100644
--- a/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
+++ b/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
@@ -2657,14 +2657,14 @@
% \legend.add entry(seventh)
% \legend.get arrangement(\arrangement)
%
- % Then \arrangment will expand to
+ % Then \arrangement will expand to
%
% first \pgfdvnextcell fourth \pgfdvnextcell seventh \pgfdvendrow
% second \pgfdvnextcell fifth \pgfdvnextcell third \pgfdvendrow
% third \pgfdvendrow sixth \pgfdvnextcell \pgfdvendrow
%
% By saying \let\pgfdvendrow=\\ and \let\pgfdvnextcell=&, you
- % can use \arrangment inside a table.
+ % can use \arrangement inside a table.
\attribute entries;%
diff --git a/tex/generic/pgf/modules/pgfmoduleplot.code.tex b/tex/generic/pgf/modules/pgfmoduleplot.code.tex
index 0afea0ae3..5135d4eec 100644
--- a/tex/generic/pgf/modules/pgfmoduleplot.code.tex
+++ b/tex/generic/pgf/modules/pgfmoduleplot.code.tex
@@ -332,7 +332,7 @@
\pgfplotstreamstart%
\openin\r@pgf@reada=#1
\ifeof\r@pgf@reada
- \pgfwarning{Plot data file `#1' not found.}
+ \pgferror{Plot data file `#1' not found.}
\else
\catcode`\#=14
\catcode`\^^M=5
@@ -400,7 +400,7 @@
\pgfplotstreamstart%
\openin\r@pgf@reada=#1
\ifeof\r@pgf@reada
- \pgfwarning{Plot data file `#1' not found.}
+ \pgferror{Plot data file `#1' not found.}
\else
\catcode`\#=14
\catcode`\^^M=5
diff --git a/tex/generic/pgf/modules/pgfmoduleshapes.code.tex b/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
index 6be10d146..438f7b722 100644
--- a/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+++ b/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
@@ -237,7 +237,7 @@
% \pgfpositionnodelaterminy
% \pgfpositionnodelatermaxy
% These four macros store the bounding box as dimensions that are
-% guarenteed to end with "pt".
+% guaranteed to end with "pt".
%
% By setting #1 to \relax (which is the default), you can switch off
% the whole mechanism
diff --git a/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def b/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
index a08960118..3df6de6d6 100644
--- a/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
+++ b/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
@@ -127,7 +127,15 @@
\dp#1=0pt%
\leavevmode%
\pgf@xa=\pgf@trimleft@final\relax \ifdim\pgf@xa=0pt \else\kern\pgf@xa\fi%
- \raise-\pgf@ya\hbox{\ifpgf@sys@svg@inpicture\else\special{dvisvgm:bbox \pgf@sys@tonumber\pgf@picmaxx\space\pgf@sys@tonumber\pgf@picmaxy}\fi\box#1}%
+ \raise-\pgf@ya\hbox{%
+ \ifpgf@sys@svg@inpicture
+ \box#1%
+ \else
+ \special{dvisvgm:bbox \pgf@sys@tonumber\pgf@picmaxx\space\pgf@sys@tonumber\pgf@picmaxy}%
+ \special{dvisvgm:bbox lock}%
+ \box#1%
+ \special{dvisvgm:bbox unlock}%
+ \fi}%
\pgf@xa=\pgf@trimright@final\relax \ifdim\pgf@xa=0pt \else\kern\pgf@xa\fi%
}
diff --git a/tex/generic/pgf/systemlayer/pgfsys-luatex.def b/tex/generic/pgf/systemlayer/pgfsys-luatex.def
index e60b1913a..2ab6ce28e 100644
--- a/tex/generic/pgf/systemlayer/pgfsys-luatex.def
+++ b/tex/generic/pgf/systemlayer/pgfsys-luatex.def
@@ -80,11 +80,17 @@
\immediate\saveimageresource attr \pgf@attr {\pgf@filename}%
\edef\pgf@mask{/SMask \the\lastsavedimageresourceindex\space 0 R}%
}
+
+\ifnum\luatexversion<200
+ \def\pgfsys@TLT{dir TLT}%
+\else
+ \def\pgfsys@TLT{direction 0}%
+\fi
\def\pgfsys@horishading#1#2#3{%
{%
\pgf@parsefunc{#3}%
\pgfmathparse{#2}%
- \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgf@max{\vbox to\pgfmathresult pt{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox \pgfsys@TLT to\pgf@max{\vbox to\pgfmathresult pt{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
\pgf@process{\pgfpoint{\pgf@max}{#2}}%
\immediate\saveboxresource resources {%
/Shading << /Sh << /ShadingType 2
@@ -101,7 +107,7 @@
{%
\pgf@parsefunc{#3}%
\pgfmathparse{#2}%
- \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgfmathresult pt{\vbox to\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox \pgfsys@TLT to\pgfmathresult pt{\vbox to\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
\pgf@process{\pgfpoint{#2}{\pgf@max}}%
\immediate\saveboxresource resources {%
/Shading << /Sh << /ShadingType 2
@@ -117,7 +123,7 @@
\def\pgfsys@radialshading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setbox\pgfutil@tempboxa=\hbox dir TLT to2\pgf@max{\vbox to2\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox \pgfsys@TLT to2\pgf@max{\vbox to2\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
\pgf@process{#2}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
@@ -149,7 +155,7 @@
\pgf@yb=\pgf@y%
\advance\pgf@x by-\pgf@xa%
\advance\pgf@y by-\pgf@ya%
- \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgf@x{\vbox to\pgf@y{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox \pgfsys@TLT to\pgf@x{\vbox to\pgf@y{\vfil\pgfsys@invoke{/Sh sh}}\hfil}%
\pgf@sys@bp@correct{\pgf@xa}%
\pgf@sys@bp@correct{\pgf@ya}%
\pgf@sys@bp@correct{\pgf@xb}%
diff --git a/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex b/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex
index 37972ba7e..14ae885ed 100644
--- a/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex
+++ b/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex
@@ -472,7 +472,7 @@
\pgfkeys{%
/errors/family unknown/.code=\pgfkeys@error{%
- Sorry, I do not know family '#1' and can't work with any assoicated family handling. Perhaps you misspelled it?},
+ Sorry, I do not know family '#1' and can't work with any associated family handling. Perhaps you misspelled it?},
/errors/no such key filter/.code 2 args=\pgfkeys@error{Sorry, there is no such key filter '#1'.},
/errors/no such key filter handler/.code 2 args=\pgfkeys@error{Sorry, there is no such key filter handler '#1'.},
% HANDLERS:
diff --git a/tex/generic/pgf/utilities/pgfutil-common.tex b/tex/generic/pgf/utilities/pgfutil-common.tex
index 0ecdc6888..39ab1c9fd 100644
--- a/tex/generic/pgf/utilities/pgfutil-common.tex
+++ b/tex/generic/pgf/utilities/pgfutil-common.tex
@@ -728,7 +728,7 @@
}%
% Same as \pgfutilsolvetwotwoleq, but using floating point
-% arithmetics. The return value is still in fixed point.
+% arithmetic. The return value is still in fixed point.
\def\pgfutilsolvetwotwoleqfloat#1#2{%
\begingroup
\pgfmathfloatcreate{1}{1.0}{-4}% FIXME : use a smaller threshold for FPU?
diff --git a/tex/generic/pgf/utilities/pgfutil-context.def b/tex/generic/pgf/utilities/pgfutil-context.def
index eddab09ab..66edb0980 100644
--- a/tex/generic/pgf/utilities/pgfutil-context.def
+++ b/tex/generic/pgf/utilities/pgfutil-context.def
@@ -26,8 +26,17 @@
\def\pgfutil@definecolor#1#2#3{\csname pgfutil@emu@#2\endcsname{#1}#3\@nil}
\def\pgfutil@emu@rgb#1#2,#3,#4\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#3,#4}}}
-\def\pgfutil@emu@gray#1#2\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#2,#2}}}
+\def\pgfutil@emu@gray#1#2\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{gray}{#2}}}
\def\pgfutil@emu@cmyk#1#2,#3,#4,#5\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{cmyk}{#2,#3,#4,#5}}}
+\def\pgfutil@emu@RGB#1#2,#3,#4\@nil{%
+ \begingroup
+ \pgfmathdivide@{#2}{255}\let\pgfutil@emu@RGB@r\pgfmathresult
+ \pgfmathdivide@{#3}{255}\let\pgfutil@emu@RGB@g\pgfmathresult
+ \pgfmathdivide@{#4}{255}\let\pgfutil@emu@RGB@b\pgfmathresult
+ \edef\pgf@marshal{\def\expandafter\noexpand\csname\string\color@#1\endcsname{%
+ \noexpand\xcolor@{}{}{rgb}{\pgfutil@emu@RGB@r,\pgfutil@emu@RGB@g,\pgfutil@emu@RGB@b}}}%
+ \expandafter\endgroup\pgf@marshal
+}
% no need for x colors (users can load it if needed)