diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex new file mode 100644 index 00000000000..091afdc9e80 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex @@ -0,0 +1,79 @@ +% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>. +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt. + +\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 setup 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 setup 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 setup 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: |