diff options
author | Karl Berry <karl@freefriends.org> | 2014-02-27 00:01:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-02-27 00:01:50 +0000 |
commit | 90ae413a94da014dbf7a6a8ab584f7c668483a5a (patch) | |
tree | 4e0528a2b2fb2004988e7fc804ea2f1354f1f5d5 /Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex | |
parent | 800cc56380d1edfe567a6a66bef13e8950eb2b0c (diff) |
pgf 3.0.0
git-svn-id: svn://tug.org/texlive/trunk@33057 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex | 885 |
1 files changed, 2 insertions, 883 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex index 9b4ba330dd4..55df7111ae1 100644 --- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex +++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex @@ -7,890 +7,9 @@ % % See the file doc/generic/pgf/licenses/LICENSE for more details. - -% pgf version is defined in \pgfversion in file -% generic/pgf/utilities/pgfrcs.code.tex - -\def\xcolorversion{2.00} - -\usepackage[version=latest]{pgf} - -\usepackage{xkeyval,calc,listings,tikz,fp} - -\usepackage{hyperref} -\hypersetup{% - colorlinks=true, % use true to enable colors below: - linkcolor=blue,%red, - filecolor=blue,%magenta, - pagecolor=blue,%red, - urlcolor=blue,%cyan, - citecolor=blue, - pdfborder=0 0 0, -} - -% We need lots of libraries... -\usetikzlibrary{ - arrows, - calc, - fit, - patterns, - plotmarks, - shapes.geometric, - shapes.misc, - shapes.symbols, - shapes.arrows, - shapes.callouts, - shapes.multipart, - shapes.gates.logic.US, - shapes.gates.logic.IEC, - circuits.logic.US, - circuits.logic.IEC, - circuits.logic.CDH, - circuits.ee.IEC, - datavisualization, - datavisualization.formats.functions, - er, - automata, - backgrounds, - chains, - topaths, - trees, - petri, - mindmap, - matrix, - calendar, - folding, - fadings, - shadings, - spy, - through, - turtle, - positioning, - scopes, - decorations.fractals, - decorations.shapes, - decorations.text, - decorations.pathmorphing, - decorations.pathreplacing, - decorations.footprints, - decorations.markings, - shadows, - lindenmayersystems, - intersections, - fixedpointarithmetic, - fpu, - svg.path, - external, -} - -\iffalse -%\iftrue - \tikzexternalize[ - mode=list only,export=true,% simply skips EVERY picture -> good for debugging the text. - ] - {pgfmanual} - - \tikzifexternalizing{% - \pgfkeys{/pdflinks/codeexample links=false}% - }{}% -\fi - - -\usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead]{geometry} -\usepackage{amsmath,amssymb} -\usepackage{xxcolor} -\usepackage{pifont} -\usepackage{makeidx} -\usepackage[latin1]{inputenc} -\usepackage{amsmath} - -\graphicspath{{../../images/}} % TODOsp: under windows this would go up 2 directories, but the file is only one directory up -\input{../../macros/pgfmanual-en-macros} % TODOsp: same here - -\makeindex - -\makeatletter -\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.8em}} -\renewcommand*\l@subsubsection{\@dottedtocline{3}{4.3em}{3.2em}} -\makeatother - -%\includeonly{pgfmanual-en-library-profiler} - -% Global styles: -\tikzset{ - every plot/.style={prefix=plots/pgf-}, - shape example/.style={ - color=black!30, - draw, - fill=yellow!30, - line width=.5cm, - inner xsep=2.5cm, - inner ysep=0.5cm} -} - -\index{Options for graphics|see{Graphic options and styles}} -\index{Styles for graphics|see{Graphic options and styles}} -\index{Options for packages|see{Package options}} -\index{Handlers for keys|see{Key handlers}} -\index{File|see{Packages and files}} -\index{Layout|see{Page layout}} -\index{Node|see{Predefined node}} -\index{Data formats|see{Formats}} - -\begin{document} - - -%\include{pgfmanual-en-dv-introduction} -%\include{pgfmanual-en-dv-main} -%\include{pgfmanual-en-dv-axes} -%\include{pgfmanual-en-dv-visualizers} -%\include{pgfmanual-en-dv-examples} -%\include{pgfmanual-en-dv-formats} -%\include{pgfmanual-en-dv-backend} - -%\end{document} - -% The titlepage - -\newbox\mybox -{ - \parindent0pt - \null - \colorlet{mintgreen}{green!50!black!50} - - \thispagestyle{empty} - \vskip3cm - \vfill - \hfil - \begin{tikzpicture}[overlay] - \coordinate (front) at (0,0); - \coordinate (horizon) at (0,.31\paperheight); - \coordinate (bottom) at (0,-.6\paperheight); - \coordinate (sky) at (0,.57\paperheight); - \coordinate (left) at (-.51\paperwidth,0); - \coordinate (right) at (.51\paperwidth,0); - - \shade [bottom color=blue!30!black!10,top color=blue!30!black!50] - ([yshift=-5mm]horizon -| left) rectangle (sky -| right); - \shade [bottom color=black!70!green!25,top color=black!70!green!10] - (front -| left) -- (horizon -| left) - decorate [decoration=random steps] { -- (horizon -| right) } - -- (front -| right) -- cycle; - \shade [top color=black!70!green!25,bottom color=black!25] - ([yshift=-5mm-1pt]front -| left) rectangle ([yshift=1pt]front -| right); - \fill [black!25] (bottom -| left) rectangle ([yshift=-5mm]front -| right); - - \def\nodeshadowed[#1]#2;{\node[scale=2,above,#1]{\global\setbox\mybox=\hbox{#2}\copy\mybox}; - \node[scale=2,above,#1,yscale=-1,scope fading=south,opacity=0.4]{\box\mybox};} - - \nodeshadowed [at={(-5,5 )},yslant=0.05] {\Huge Ti\textcolor{orange}{\emph{k}}Z}; - \nodeshadowed [at={( 0,5.3)}] {\huge \textcolor{mintgreen}{\&}}; - \nodeshadowed [at={( 5,5 )},yslant=-0.05] {\Huge \textsc{PGF}}; - \nodeshadowed [at={( 0,2 )}] {Manual for Version \pgftypesetversion}; - - \foreach \where in {-9cm,9cm} - {\nodeshadowed [at={(\where,5cm)}] { - \tikz \draw [green!20!black, rotate=90] - [l-system={rule set={F -> FF-[-F+F]+[+F-F]}, axiom=F, order=4, - step=2pt, randomize step percent=50, angle=30, randomize angle percent=5}] - lindenmayer system;};} - - \foreach \i in {0.5,0.6,...,2} - \fill [white,decoration=Koch snowflake,opacity=.9] - [shift=(horizon),shift={(rand*11,rnd*7)},scale=\i] - [double copy shadow={opacity=0.2,shadow xshift=0pt,shadow - yshift=3*\i pt,fill=white,draw=none}] - decorate { - decorate { - decorate { - (0,0) -- ++(60:1) -- ++(-60:1) -- cycle - } - } - }; - - \node (left text) [text width=.5\paperwidth-2cm,below right,at={(-.5\paperwidth+1cm,-1.5cm)}] - { - \fontfamily{pcr} - \def\textbraceleft{\char`\{} - \def\textbraceright{\char`\}} - \def\textbackslash{\char`\\} - \begin{lstlisting}[basicstyle=\scriptsize\color{black}, - keywordstyle=\bfseries\color{white}, - identifierstyle=\bfseries\color{black}, - keywords={tikzpicture,shade,fill,draw,path,node}, - literate={-}{{-}}1] -\begin{tikzpicture} - \coordinate (front) at (0,0); - \coordinate (horizon) at (0,.31\paperheight); - \coordinate (bottom) at (0,-.6\paperheight); - \coordinate (sky) at (0,.57\paperheight); - \coordinate (left) at (-.51\paperwidth,0); - \coordinate (right) at (.51\paperwidth,0); - - \shade [bottom color=white, - top color=blue!30!black!50] - ([yshift=-5mm]horizon -| left) - rectangle (sky -| right); - - \shade [bottom color=black!70!green!25, - top color=black!70!green!10] - (front -| left) -- (horizon -| left) - decorate [decoration=random steps] { - -- (horizon -| right) } - -- (front -| right) -- cycle; - - \shade [top color=black!70!green!25, - bottom color=black!25] - ([yshift=-5mm-1pt]front -| left) - rectangle ([yshift=1pt]front -| right); - - \fill [black!25] - (bottom -| left) - rectangle ([yshift=-5mm]front -| right); - - \def\nodeshadowed[#1]#2;{ - \node[scale=2,above,#1]{ - \global\setbox\mybox=\hbox{#2} - \copy\mybox}; - \node[scale=2,above,#1,yscale=-1, - scope fading=south,opacity=0.4]{\box\mybox}; - } -\end{lstlisting} -}; - - \node (right text) [text width=.5\paperwidth-2cm,below right,at={(1cm,-1.5cm)}] - { - \fontfamily{pcr} - \def\textbraceleft{\char`\{} - \def\textbraceright{\char`\}} - \def\textbackslash{\char`\\} - \begin{lstlisting}[basicstyle=\scriptsize\color{black}, - keywordstyle=\bfseries\color{white}, - identifierstyle=\bfseries\color{black}, - keywords={tikzpicture,shade,fill,draw,path,node}, - literate={-}{{-}}1] - \nodeshadowed [at={(-5,8 )},yslant=0.05] - {\Huge Ti\textcolor{orange}{\emph{k}}Z}; - \nodeshadowed [at={( 0,8.3)}] - {\huge \textcolor{green!50!black!50}{\&}}; - \nodeshadowed [at={( 5,8 )},yslant=-0.05] - {\Huge \textsc{PGF}}; - \nodeshadowed [at={( 0,5 )}] - {Manual for Version \pgftypesetversion}; - - \foreach \where in {-9cm,9cm} { - \nodeshadowed [at={(\where,5cm)}] { \tikz - \draw [green!20!black, rotate=90, - l-system={rule set={F -> FF-[-F+F]+[+F-F]}, - axiom=F, order=4,step=2pt, - randomize step percent=50, angle=30, - randomize angle percent=5}] l-system; }} - - \foreach \i in {0.5,0.6,...,2} - \fill - [white,opacity=\i/2, - decoration=Koch snowflake, - shift=(horizon),shift={(rand*11,rnd*7)}, - scale=\i,double copy shadow={ - opacity=0.2,shadow xshift=0pt, - shadow yshift=3*\i pt,fill=white,draw=none}] - decorate { - decorate { - decorate { - (0,0)- ++(60:1) -- ++(-60:1) -- cycle - } } }; - - \node (left text) ... - \node (right text) ... - - \fill [decorate,decoration={footprints,foot of=gnome}, - opacity=.5,brown] (rand*8,-rnd*10) - to [out=rand*180,in=rand*180] (rand*8,-rnd*10); -\end{tikzpicture} - \end{lstlisting} - }; - - \fill [decorate,decoration=footprints, - decoration={footprints,foot of=gnome}, - opacity=.5,brown] (rand*8,-rnd*10) - to [out=rand*180,in=rand*180] (rand*8,-rnd*10); -\end{tikzpicture} -\vfill -\vbox{} -\clearpage -} - -{ - \vbox{} - \vskip0pt plus 1fill - Für meinen Vater, damit er noch viele schöne \TeX-Graphiken - erschaffen kann. - \vskip1em - \hfill\emph{Till} - \vskip0pt plus 3fill - - \parindent=0pt - Copyright 2007 by Till Tantau - - \medskip - Permission is granted to copy, distribute and/or modify \emph{the documentation} - under the terms of the \textsc{gnu} Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled \textsc{gnu} - Free Documentation License. - - \medskip - Permission is granted to copy, distribute and/or modify \emph{the - code of the package} under the terms of the \textsc{gnu} Public License, Version 2 - or any later version published by the Free Software Foundation. - A copy of the license is included in the section entitled \textsc{gnu} - Public License. - - \medskip - Permission is also granted to distribute and/or modify \emph{both - the documentation and the code} under the conditions of the LaTeX - Project Public License, either version 1.3 of this license or (at - your option) any later version. A copy of the license is included in - the section entitled \LaTeX\ Project Public License. - - \vbox{} - \clearpage -} - - -\title{\bfseries The \tikzname\ and {\Large PGF} Packages\\ - \large Manual for version \pgfversion\\[1mm] -\large\href{http://sourceforge.net/projects/pgf}{\texttt{http://sourceforge.net/projects/pgf}}} -\author{Till Tantau\footnote{Editor of this documentation. Parts of - this documentation have been written by other authors as indicated - in these parts or chapters and in Section~\ref{section-authors}.}\\ - \normalsize Institut f\"ur Theoretische Informatik\\[-1mm] - \normalsize Universit\"at zu L\"ubeck} - -\maketitle - -\tableofcontents - -\clearpage - - -\include{pgfmanual-en-introduction} - - -\part{Tutorials and Guidelines} - -{\Large \emph{by Till Tantau}} - -\bigskip -\noindent -To help you get started with \tikzname, instead of a long installation -and configuration section, this manual starts with tutorials. They -explain all the basic and some of the more advanced features of the -system, without going into all the details. This part also contains -some guidelines on how you should proceed when creating graphics using -\tikzname. - -\vskip3cm - -\begin{codeexample}[graphic=white,width=0pt] -\tikz \draw[thick,rounded corners=8pt] - (0,0) -- (0,2) -- (1,3.25) -- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0); -\end{codeexample} - -\include{pgfmanual-en-tutorial} -\include{pgfmanual-en-tutorial-nodes} -\include{pgfmanual-en-tutorial-Euclid} -\include{pgfmanual-en-tutorial-chains} -\include{pgfmanual-en-tutorial-map} -\include{pgfmanual-en-guidelines} - - - -\part{Installation and Configuration} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -This part explains how the system is installed. Typically, someone has -already done so for your system, so this part can be skipped; but if -this is not the case and you are the poor fellow who has to do the -installation, read the present part. - - -\vskip1cm - -\begin{codeexample}[graphic=white] -\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick, - every state/.style={fill=red,draw=none,circular drop shadow,text=white}] - - \node[initial,state] (A) {$q_a$}; - \node[state] (B) [above right=of A] {$q_b$}; - \node[state] (D) [below right=of A] {$q_d$}; - \node[state] (C) [below right=of B] {$q_c$}; - \node[state] (E) [below=of D] {$q_e$}; - - \path (A) edge node {0,1,L} (B) - edge node {1,1,R} (C) - (B) edge [loop above] node {1,1,L} (B) - edge node {0,1,L} (C) - (C) edge node {0,1,L} (D) - edge [bend left] node {1,0,R} (E) - (D) edge [loop below] node {1,1,R} (D) - edge node {0,1,R} (A) - (E) edge [bend left] node {1,0,R} (A); - - \node [right=1cm,text width=8cm] at (C) - { - The current candidate for the busy beaver for five states. It is - presumed that this Turing machine writes a maximum number of - $1$'s before halting among all Turing machines with five states - and the tape alphabet $\{0, 1\}$. Proving this conjecture is an - open research problem. - }; -\end{tikzpicture} -\end{codeexample} - -\include{pgfmanual-en-installation} -\include{pgfmanual-en-license} -\include{pgfmanual-en-drivers} - - -\part{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm} -\label{part-tikz} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -\vskip3cm -\begin{codeexample}[graphic=white] -\begin{tikzpicture} - \draw[fill=yellow] (0,0) -- (60:.75cm) arc (60:180:.75cm); - \draw(120:0.4cm) node {$\alpha$}; - - \draw[fill=green!30] (0,0) -- (right:.75cm) arc (0:60:.75cm); - \draw(30:0.5cm) node {$\beta$}; - - \begin{scope}[shift={(60:2cm)}] - \draw[fill=green!30] (0,0) -- (180:.75cm) arc (180:240:.75cm); - \draw (30:-0.5cm) node {$\gamma$}; - - \draw[fill=yellow] (0,0) -- (240:.75cm) arc (240:360:.75cm); - \draw (-60:0.4cm) node {$\delta$}; - \end{scope} - - \begin{scope}[thick] - \draw (60:-1cm) node[fill=white] {$E$} -- (60:3cm) node[fill=white] {$F$}; - \draw[red] (-2,0) node[left] {$A$} -- (3,0) node[right]{$B$}; - \draw[blue,shift={(60:2cm)}] (-3,0) node[left] {$C$} -- (2,0) node[right]{$D$}; - - \draw[shift={(60:1cm)},xshift=4cm] - node [right,text width=6cm,rounded corners,fill=red!20,inner sep=1ex] - { - When we assume that $\color{red}AB$ and $\color{blue}CD$ are - parallel, i.\,e., ${\color{red}AB} \mathbin{\|} \color{blue}CD$, - then $\alpha = \delta$ and $\beta = \gamma$. - }; - \end{scope} -\end{tikzpicture} -\end{codeexample} - - - -\include{pgfmanual-en-tikz-design} -\include{pgfmanual-en-tikz-scopes} -\include{pgfmanual-en-tikz-coordinates} -\include{pgfmanual-en-tikz-paths} -\include{pgfmanual-en-tikz-actions} -\include{pgfmanual-en-tikz-shapes} -\include{pgfmanual-en-tikz-matrices} -\include{pgfmanual-en-tikz-trees} -\include{pgfmanual-en-tikz-plots} -\include{pgfmanual-en-tikz-transparency} -\include{pgfmanual-en-tikz-decorations} -\include{pgfmanual-en-tikz-transformations} - - - -\part{Libraries} -\label{part-libraries} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -In this part the library packages are documented. They -provide additional predefined graphic objects like new arrow heads or -new plot marks, but also sometimes extensions of the basic \pgfname\ -or \tikzname\ system. The libraries are not loaded by default since -many users will not need them. - -\medskip -\noindent -\begin{codeexample}[graphic=white] -\tikzset{ - ld/.style={level distance=#1},lw/.style={line width=#1}, - level 1/.style={ld=4.5mm, trunk, lw=1ex ,sibling angle=60}, - level 2/.style={ld=3.5mm, trunk!80!leaf a,lw=.8ex,sibling angle=56}, - level 3/.style={ld=2.75mm,trunk!60!leaf a,lw=.6ex,sibling angle=52}, - level 4/.style={ld=2mm, trunk!40!leaf a,lw=.4ex,sibling angle=48}, - level 5/.style={ld=1mm, trunk!20!leaf a,lw=.3ex,sibling angle=44}, - level 6/.style={ld=1.75mm,leaf a, lw=.2ex,sibling angle=40}, -} -\pgfarrowsdeclare{leaf}{leaf} - {\pgfarrowsleftextend{-2pt} \pgfarrowsrightextend{1pt}} -{ - \pgfpathmoveto{\pgfpoint{-2pt}{0pt}} - \pgfpatharc{150}{30}{1.8pt} - \pgfpatharc{-30}{-150}{1.8pt} - \pgfusepathqfill -} - -\newcommand{\logo}[5] -{ - \colorlet{border}{#1} - \colorlet{trunk}{#2} - \colorlet{leaf a}{#3} - \colorlet{leaf b}{#4} - \begin{tikzpicture} - \scriptsize\scshape - \draw[border,line width=1ex,yshift=.3cm, - yscale=1.45,xscale=1.05,looseness=1.42] - (1,0) to [out=90, in=0] (0,1) to [out=180,in=90] (-1,0) - to [out=-90,in=-180] (0,-1) to [out=0, in=-90] (1,0) -- cycle; - - \coordinate (root) [grow cyclic,rotate=90] - child { - child [line cap=round] foreach \a in {0,1} { - child foreach \b in {0,1} { - child foreach \c in {0,1} { - child foreach \d in {0,1} { - child foreach \leafcolor in {leaf a,leaf b} - { edge from parent [color=\leafcolor,-#5] } - } } } - } edge from parent [shorten >=-1pt,serif cm-,line cap=butt] - }; - - \node [align=center,below] at (0pt,-.5ex) - { \textcolor{border}{T}heoretical \\ \textcolor{border}{C}omputer \\ - \textcolor{border}{S}cience }; - \end{tikzpicture} -} -\begin{minipage}{3cm} - \logo{green!80!black}{green!25!black}{green}{green!80}{leaf}\\ - \logo{green!50!black}{black}{green!80!black}{red!80!green}{leaf}\\ - \logo{red!75!black}{red!25!black}{red!75!black}{orange}{leaf}\\ - \logo{black!50}{black}{black!50}{black!25}{} -\end{minipage} -\end{codeexample} - -\include{pgfmanual-en-library-arrows} -\include{pgfmanual-en-library-automata} -\include{pgfmanual-en-library-backgrounds} -\include{pgfmanual-en-library-calc} -\include{pgfmanual-en-library-calendar} -\include{pgfmanual-en-library-chains} -\include{pgfmanual-en-library-circuits} -\include{pgfmanual-en-library-decorations} -\include{pgfmanual-en-library-er} -\include{pgfmanual-en-library-external} -\include{pgfmanual-en-library-fadings} -\include{pgfmanual-en-library-fit} -\include{pgfmanual-en-library-fixedpoint} -\include{pgfmanual-en-library-fpu} -\include{pgfmanual-en-library-lsystems} -\include{pgfmanual-en-library-matrices} -\include{pgfmanual-en-library-mindmaps} -\include{pgfmanual-en-library-folding} -\include{pgfmanual-en-library-patterns} -\include{pgfmanual-en-library-petri} -\include{pgfmanual-en-library-plot-handlers} -\include{pgfmanual-en-library-plot-marks} -\include{pgfmanual-en-library-profiler} -\include{pgfmanual-en-library-shadings} -\include{pgfmanual-en-library-shadows} -\include{pgfmanual-en-library-shapes} -\include{pgfmanual-en-library-spy} -\include{pgfmanual-en-library-svg-path} -\include{pgfmanual-en-library-edges} -\include{pgfmanual-en-library-through} -\include{pgfmanual-en-library-trees} -\include{pgfmanual-en-library-turtle} - - - -\iffalse -\part{Data Visualization} -\label{part-dv} - -{\Large \emph{by Till Tantau}} - -\bigskip -\noindent -The documentation of the data visualization is still missing. This -stuff is still ``heavily under construction.'' - -\include{pgfmanual-en-dv-introduction} -\include{pgfmanual-en-dv-main} -\include{pgfmanual-en-dv-axes} -\include{pgfmanual-en-dv-visualizers} -\include{pgfmanual-en-dv-examples} -\include{pgfmanual-en-dv-formats} -\include{pgfmanual-en-dv-backend} - -\fi - - -\part{Utilities} -\label{part-utilities} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -The utility packages are not directly involved in creating graphics, -but you may find them useful nonetheless. All of them either directly -depend on \pgfname\ or they are designed to work well together with -\pgfname\ even though they can be used in a stand-alone way. - -\vskip2cm -\medskip -\noindent -\begin{codeexample}[graphic=white] -\begin{tikzpicture}[scale=2] - \shade[top color=blue,bottom color=gray!50] (0,0) parabola (1.5,2.25) |- (0,0); - \draw (1.05cm,2pt) node[above] {$\displaystyle\int_0^{3/2} \!\!x^2\mathrm{d}x$}; - - \draw[help lines] (0,0) grid (3.9,3.9) - [step=0.25cm] (1,2) grid +(1,1); - - \draw[->] (-0.2,0) -- (4,0) node[right] {$x$}; - \draw[->] (0,-0.2) -- (0,4) node[above] {$f(x)$}; - - \foreach \x/\xtext in {1/1, 1.5/1\frac{1}{2}, 2/2, 3/3} - \draw[shift={(\x,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {$\xtext$}; - - \foreach \y/\ytext in {1/1, 2/2, 2.25/2\frac{1}{4}, 3/3} - \draw[shift={(0,\y)}] (2pt,0pt) -- (-2pt,0pt) node[left] {$\ytext$}; - - \draw (-.5,.25) parabola bend (0,0) (2,4) node[below right] {$x^2$}; -\end{tikzpicture} -\end{codeexample} - -\include{pgfmanual-en-pgfkeys} -\include{pgfmanual-en-pgffor} -\include{pgfmanual-en-pgfcalendar} -\include{pgfmanual-en-pages} -\include{pgfmanual-en-xxcolor} -\include{pgfmanual-en-module-parser} - - -\part{Mathematical and Object-Oriented Engines} - -{\Large \emph{by Mark Wibrow and Till Tantau}} - - -\bigskip -\noindent -\pgfname\ comes with two useful engines: One for doing mathematics, -one for doing object-oriented programming. Both engines can be used -independently of the main \pgfname. - -The job of the mathematical -engine is to support mathematical operations like addition, -subtraction, multiplication and division, using both integers and -non-integers, but also functions such as square-roots, sine, cosine, -and generate pseudo-random numbers. -Mostly, you will use the mathematical facilities of \pgfname\ -indirectly, namely when you write a coordinate like |(5cm*3,6cm/4)|, -but the mathematical engine can also be used independently of -\pgfname\ and \tikzname. - -The job of the object-oriented engine is to support simple -object-oriented programming in \TeX. It allows the definition of -\emph{classes} (without inheritance), \emph{methods}, -\emph{attributes} and \emph{objects}. - -\vskip1cm -\begin{codeexample}[graphic=white] -\pgfmathsetseed{1} -\foreach \col in {black,red,green,blue} -{ - \begin{tikzpicture}[x=10pt,y=10pt,ultra thick,baseline,line cap=round] - \coordinate (current point) at (0,0); - \coordinate (old velocity) at (0,0); - \coordinate (new velocity) at (rand,rand); - - \foreach \i in {0,1,...,100} - { - \draw[\col!\i] (current point) - .. controls ++([scale=-1]old velocity) and - ++(new velocity) .. ++(rand,rand) - coordinate (current point); - \coordinate (old velocity) at (new velocity); - \coordinate (new velocity) at (rand,rand); - } - \end{tikzpicture} -} -\end{codeexample} - -\include{pgfmanual-en-math-design} -\include{pgfmanual-en-math-parsing} -\include{pgfmanual-en-math-commands} -\include{pgfmanual-en-math-algorithms} -\include{pgfmanual-en-math-numberprinting} -\include{pgfmanual-en-oo} - - -\part{The Basic Layer} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -\vskip1cm -\begin{codeexample}[graphic=white] -\begin{tikzpicture} - \draw[gray,very thin] (-1.9,-1.9) grid (2.9,3.9) - [step=0.25cm] (-1,-1) grid (1,1); - \draw[blue] (1,-2.1) -- (1,4.1); % asymptote - - \draw[->] (-2,0) -- (3,0) node[right] {$x(t)$}; - \draw[->] (0,-2) -- (0,4) node[above] {$y(t)$}; - - \foreach \pos in {-1,2} - \draw[shift={(\pos,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {$\pos$}; - - \foreach \pos in {-1,1,2,3} - \draw[shift={(0,\pos)}] (2pt,0pt) -- (-2pt,0pt) node[left] {$\pos$}; - - \fill (0,0) circle (0.064cm); - \draw[thick,parametric,domain=0.4:1.5,samples=200] - % The plot is reparameterised such that there are more samples - % near the center. - plot[id=asymptotic-example] function{(t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))} - node[right] {$\bigl(x(t),y(t)\bigr) = (t\sin \frac{1}{t}, t\cos \frac{1}{t})$}; - - \fill[red] (0.63662,0) circle (2pt) - node [below right,fill=white,yshift=-4pt] {$(\frac{2}{\pi},0)$}; -\end{tikzpicture} -\end{codeexample} - - -\include{pgfmanual-en-base-design} -\include{pgfmanual-en-base-scopes} -\include{pgfmanual-en-base-points} -\include{pgfmanual-en-base-paths} -\include{pgfmanual-en-base-decorations} -\include{pgfmanual-en-base-actions} -\include{pgfmanual-en-base-arrows} -\include{pgfmanual-en-base-nodes} -\include{pgfmanual-en-base-matrices} -\include{pgfmanual-en-base-transformations} -\include{pgfmanual-en-base-patterns} -\include{pgfmanual-en-base-images} -\include{pgfmanual-en-base-external} -\include{pgfmanual-en-base-plots} -\include{pgfmanual-en-base-layers} -\include{pgfmanual-en-base-shadings} -\include{pgfmanual-en-base-transparency} -\include{pgfmanual-en-base-internalregisters} -\include{pgfmanual-en-base-quick} - - - - -\part{The System Layer} -\label{part-system} - -{\Large \emph{by Till Tantau}} - - -\bigskip -\noindent -This part describes the low-level interface of \pgfname, called the -\emph{system layer}. This interface provides a complete abstraction of -the internals of the underlying drivers. - -Unless you intend to port \pgfname\ to another driver or unless you intend -to write your own optimized frontend, you need not read this part. - -In the following it is assumed that you are familiar with the basic -workings of the |graphics| package and that you know what -\TeX-drivers are and how they work. - -\vskip1cm -\begin{codeexample}[graphic=white] -\begin{tikzpicture} - [shorten >=1pt,->, - vertex/.style={circle,fill=black!25,minimum size=17pt,inner sep=0pt}] - - \foreach \name/\x in {s/1, 2/2, 3/3, 4/4, 15/11, 16/12, 17/13, 18/14, 19/15, t/16} - \node[vertex] (G-\name) at (\x,0) {$\name$}; - - \foreach \name/\angle/\text in {P-1/234/5, P-2/162/6, P-3/90/7, P-4/18/8, P-5/-54/9} - \node[vertex,xshift=6cm,yshift=.5cm] (\name) at (\angle:1cm) {$\text$}; - - \foreach \name/\angle/\text in {Q-1/234/10, Q-2/162/11, Q-3/90/12, Q-4/18/13, Q-5/-54/14} - \node[vertex,xshift=9cm,yshift=.5cm] (\name) at (\angle:1cm) {$\text$}; - - \foreach \from/\to in {s/2,2/3,3/4,3/4,15/16,16/17,17/18,18/19,19/t} - \draw (G-\from) -- (G-\to); - - \foreach \from/\to in {1/2,2/3,3/4,4/5,5/1,1/3,2/4,3/5,4/1,5/2} - { \draw (P-\from) -- (P-\to); \draw (Q-\from) -- (Q-\to); } - - \draw (G-3) .. controls +(-30:2cm) and +(-150:1cm) .. (Q-1); - \draw (Q-5) -- (G-15); -\end{tikzpicture} -\end{codeexample} - -\include{pgfmanual-en-pgfsys-overview} -\include{pgfmanual-en-pgfsys-commands} -\include{pgfmanual-en-pgfsys-paths} -\include{pgfmanual-en-pgfsys-protocol} - - - -\part{References and Index} - -\vskip1cm -\begin{codeexample}[graphic=white] -\begin{tikzpicture} - \draw[line width=0.3cm,color=red!30,line cap=round,line join=round] (0,0)--(2,0)--(2,5); - \draw[help lines] (-2.5,-2.5) grid (5.5,7.5); - \draw[very thick] (1,-1)--(-1,-1)--(-1,1)--(0,1)--(0,0)-- - (1,0)--(1,-1)--(3,-1)--(3,2)--(2,2)--(2,3)--(3,3)-- - (3,5)--(1,5)--(1,4)--(0,4)--(0,6)--(1,6)--(1,5) - (3,3)--(4,3)--(4,5)--(3,5)--(3,6) - (3,-1)--(4,-1); - \draw[below left] (0,0) node(s){$s$}; - \draw[below left] (2,5) node(t){$t$}; - \fill (0,0) circle (0.06cm) (2,5) circle (0.06cm); - \draw[->,rounded corners=0.2cm,shorten >=2pt] - (1.5,0.5)-- ++(0,-1)-- ++(1,0)-- ++(0,2)-- ++(-1,0)-- ++(0,2)-- ++(1,0)-- - ++(0,1)-- ++(-1,0)-- ++(0,-1)-- ++(-2,0)-- ++(0,3)-- ++(2,0)-- ++(0,-1)-- - ++(1,0)-- ++(0,1)-- ++(1,0)-- ++(0,-1)-- ++(1,0)-- ++(0,-3)-- ++(-2,0)-- - ++(1,0)-- ++(0,-3)-- ++(1,0)-- ++(0,-1)-- ++(-6,0)-- ++(0,3)-- ++(2,0)-- - ++(0,-1)-- ++(1,0); -\end{tikzpicture} -\end{codeexample} - -\printindex - -%\typeout{Examples: \the\codeexamplecount}% -\end{document} - - +\input pgfmanual-en-main-preamble.tex +\input pgfmanual-en-main-body.tex %%% Local Variables: %%% mode: latex -%%% TeX-master: "~/texmf/tex/generic/pgf/doc/pgf/version-for-pdftex/en/pgfmanual" %%% End: |