summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex81
1 files changed, 55 insertions, 26 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
index fd67dafc38c..826648cb9ec 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
@@ -1,9 +1,11 @@
-% Copyright 2003 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
%
-% 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.
-
+% 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{Introduction}
@@ -11,15 +13,15 @@
The \pgfname\ package, where ``\pgfname'' is supposed to mean ``portable
graphics format'' (or ``pretty, good, functional'' if you
prefer\dots), is a package for creating graphics in an ``inline''
-manner. The package defines a number of \TeX\ commands that draw
+manner. It 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 \tikz
\fill[orange] (1ex,1ex) circle (1ex);.
-In a sense, when using \pgfname\ you ``program'' your graphics, just as you
-``program'' your document when using \TeX. This means that you get
-the advantages of the ``\TeX-approach to typesetting'' also for your
+In a sense, when you use \pgfname\ you ``program'' your graphics, just
+as you ``program'' your document when you use \TeX. You get all
+the advantages of the ``\TeX-approach to typesetting'' for your
graphics: quick creation of simple graphics, precise positioning, the
use of macros, often superior typography. You also inherit all the
disadvantages: steep learning curve, no \textsc{wysiwyg}, small
@@ -47,21 +49,14 @@ The \pgfname\ system consists of different layers:
|{pgfpicture}|. Depending on whether |dvips|,
|dvipdfm|, or |pdftex| is used to process the document, the system
command will be converted to different |\special| commands.
-
The system layer is as ``minimalistic'' as possible since each
additional command makes it more work to port \pgfname\ to a new
- driver. Currently, only drivers that produce PostScript or
- \textsc{pdf} output are supported and only few of these (hence the
- name \emph{portable} graphics format is currently a bit
- boastful). However, in principle, the system layer could be ported
- to many different drivers quite easily. It should even be possible
- to produce, say, \textsc{svg} output in conjunction with
- \textsc{tex4ht}.
+ driver.
As a user, you will not use the system layer directly.
\item[Basic layer:]
The basic layer provides a set of basic commands that allow
- you to produce complex graphics in a much easier way than by using
+ you to produce complex graphics in a much easier manner than by using
the system layer directly. For example, the system layer provides
no commands for creating circles since circles can be composed from
the more basic Bézier curves (well, almost). However, as a user you
@@ -130,26 +125,60 @@ layer, and finally the system layer.
\subsection{Comparison with Other Graphics Packages}
-There were two main motivations for creating \pgfname:
+\pgfname\ is not the only graphics package for \TeX. In the following,
+I try to give a reasonably fair comparison of the \pgfname-system and
+other packages.
\begin{enumerate}
\item
- The standard \LaTeX\ |{picture}| environment is not powerful enough to
- create anything but really simple graphics. This is certainly not
+ The standard \LaTeX\ |{picture}| environment allows you to create
+ simple graphics, but little more. This is certainly not
due to a lack of knowledge or imagination on the part of
\LaTeX's designer(s). Rather, this is the price paid for the
|{picture}| environment's portability: It works together with all
backend drivers.
\item
- The |{pstricks}| package is certainly powerful enough to create
+ The |pstricks| package is certainly powerful enough to create
any conceivable kind of graphic, but it is not portable at all. Most
importantly, it does not work with |pdftex| nor with any other
driver that produces anything but PostScript code.
+
+ Compared to \pgfname, |pstricks| has a broader support base. There
+ are many nice extra packages for special purpose sitations that have
+ been contributed by users over the last decade.
+
+ The \tikzname\ syntax is more consistent than the |pstricks| syntax
+ as \tikzname\ was developed ``in a more centralized manner'' and
+ also ``with the shortcomings on |pstricks| in mind.''
+
+ Note that a number of neat tricks that |pstricks| can do are
+ impossible in \pgfname. In particular, |pstricks| has access to the
+ powerful PostScript programming language, which allows trickery
+ such as inline function plotting.
+\item
+ The |xypic| package is an older package for creating
+ graphics. However, it is more difficult to use and to learn because
+ the syntax and the documentation are a bit cryptic.
+\item
+ The |dratex| package is a small graphic package for creating a
+ graphics. Compared to the other package, including \pgfname, it is
+ very small, which may or may not be an advantage.
+\item
+ The |metapost| program is a very powerful alternative to
+ \pgfname. However, it is an external program, which entails a whole
+ bunch on problems. The time needed both to create a small graphics
+ and also to compile it is much greater than in \pgfname.
+ The main problem with |metapost|, however, is the inclusion of
+ labels. This is \emph{much} easier to achieve using \pgfname.
+\item
+ The |xfig| program is an important alternative to \tikzname\ for
+ users who do not wish to ``program'' their graphics as is necessary
+ with \tikzname\ and the other packages above. Their is a conversion
+ program that will convert |xfig| graphics to both \tikzname\ and
+ for \pgfname, but it is still under construction.
\end{enumerate}
-The \pgfname\ package is a trade-off between portability and expressive
-power. It is not as portable as |{picture}| and perhaps not quite as
-powerful as |{pspicture}|. However, it is more powerful than
-|{picture}| and more portable than |{pspicture}|.
+
+
\subsection{Utilities: Page Management}