diff options
author | Karl Berry <karl@freefriends.org> | 2023-01-15 20:58:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-01-15 20:58:27 +0000 |
commit | 810d9b451473ebe8e27c3f691bf001e01864e6fb (patch) | |
tree | 5151b6e2e4cef114dd6f4154f2d602312c40f0cf /Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex | |
parent | bf5bd6f0c1fa2b7dac8b2b7b8d4b52bf6a1518f0 (diff) |
pgf (15jan23)
git-svn-id: svn://tug.org/texlive/trunk@65553 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex b/Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex new file mode 100644 index 00000000000..ae1875bb9b6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pgf/pgfmanual-en-pgfsys-overview.tex @@ -0,0 +1,79 @@ +% Copyright 2018 by Till Tantau +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +% See the file doc/generic/pgf/licenses/LICENSE for more details. + + +\section{Design of the System Layer} + +\makeatletter + +\subsection{Driver Files} +\label{section-pgfsys} + +The \pgfname\ system layer mainly consists of a large number of commands +starting with |\pgfsys@|. These commands will be called \emph{system commands} +in the following. The higher layers ``interface'' with the system layer by +calling these commands. The higher layers should never use |\special| commands +directly or even check whether |\pdfoutput| is defined. Instead, all drawing +requests should be ``channeled'' through the system commands. + +The system layer is loaded and set up by the following package: + +\begin{package}{pgfsys} + This file provides ``default implementations'' of all system commands, but + most simply produce a warning that they are not implemented. The actual + implementations of the system commands for a particular driver like, say, + |pdftex| reside in files called |pgfsys-xxxx.sty|, where |xxxx| is the + driver name. These will be called \emph{driver files} in the following. + + When |pgfsys.sty| is loaded, it will try to determine which driver is used + by loading |pgf.cfg|. This file should set up the macro |\pgfsysdriver| + appropriately. The |pgfsys.sty| will input the appropriate + |pgfsys-|\meta{drivername}|.sty|. +\end{package} + +\begin{command}{\pgfsysdriver} + This macro should expand to the name of the driver to be used by |pgfsys|. + The default from |pgf.cfg| is |pgfsys-\Gin@driver|. This is very likely to + be correct if you are using \LaTeX. For plain \TeX, the macro will be set + to |pgfsys-pdftex.def| if |pdftex| is used and to |pgfsys-dvips.def| + otherwise. +\end{command} + +\begin{filedescription}{pgf.cfg} + This file should set up the command |\pgfsysdriver| correctly. If + |\pgfsysdriver| is already set to some value, the driver normally should + not change it. Otherwise, it should make a ``good guess'' at which driver + will be appropriate. +\end{filedescription} + +The currently supported backend drivers are discussed in +Section~\ref{section-drivers}. + + +\subsection{Common Definition Files} + +Some drivers share many |\pgfsys@| commands. For the reason, files defining +these ``common'' commands are available. These files are \emph{not} usable +alone. + +\begin{filedescription}{pgfsys-common-postscript} + This file defines some |\pgfsys@| commands so that they produce appropriate + PostScript code. +\end{filedescription} + +\begin{filedescription}{pgfsys-common-pdf} + This file defines some |\pgfsys@| commands so that they produce appropriate + \textsc{pdf} code. +\end{filedescription} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "pgfmanual" +%%% End: |