HaTeX-3.22.4.1: The Haskell LaTeX library.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.LaTeX.Packages.TikZ.Syntax

Description

This module defines the syntax of a TikZ script.

To generate a TikZ script, first create a TPath using data constructors, or alternatively, use a PathBuilder from the Text.LaTeX.Packages.TikZ.PathBuilder module.

Once a TPath is created, use path to render a picture from it. Use scope to apply some parameters to your picture, such line width or color.

Synopsis

Points

data TPoint Source #

A point in TikZ.

Instances

Instances details
Render TPoint Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show TPoint Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

pointAt :: Measure -> Measure -> TPoint Source #

Point using Measures for coordinantes.

pointAtXY :: Double -> Double -> TPoint Source #

Point using numbers as coordinates.

pointAtXYZ :: Double -> Double -> Double -> TPoint Source #

Three-dimensional point.

relPoint :: TPoint -> TPoint Source #

Makes a point relative to the previous.

Paths

Types

data TPath Source #

Type for TikZ paths. Every TPath has two fundamental points: the starting point and the last point. The starting point is set using the Start constructor. The last point then is modified by the other constructors. Below a explanation of each one of them. Note that both starting point and last point may coincide. You can use the functions startingPoint and lastPoint to calculate them. After creating a TPath, use path to do something useful with it.

Constructors

Start TPoint

Let y = Start p.

Operation: Set the starting point of a path.

Last point: The last point of y is p.

Cycle TPath

Let y = Cycle x.

Operation: Close a path with a line from the last point of x to the starting point of x.

Last point: The last point of y is the starting point of x.

Line TPath TPoint

Let y = Line x p.

Operation: Extend the current path from the last point of x in a straight line to p.

Last point: The last point of y is p.

Rectangle TPath TPoint

Let y = Rectangle x p.

Operation: Define a rectangle using the last point of x as one corner and p as the another corner.

Last point: The last point of y is p.

Circle TPath Double

Let y = Circle x r.

Operation: Define a circle with center at the last point of x and radius r.

Last point: The last point of y is the same as the last point of x.

Ellipse TPath Double Double

Let y = Ellipse x r1 r2.

Operation: Define a ellipse with center at the last point of x, width the double of r1 and height the double of r2.

Last point: The last point of y is the same as the last point of x.

Grid TPath [GridOption] TPoint 
Node TPath LaTeX

Let y = Node x l.

Operation: Set a text centered at the last point of x.

Last point: The last point of y is the same as the last point of x.

Instances

Instances details
Render TPath Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show TPath Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Methods

showsPrec :: Int -> TPath -> ShowS #

show :: TPath -> String #

showList :: [TPath] -> ShowS #

newtype GridOption Source #

Constructors

GridStep Step 

data Step Source #

Instances

Instances details
Render Step Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show Step Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Methods

showsPrec :: Int -> Step -> ShowS #

show :: Step -> String #

showList :: [Step] -> ShowS #

Critical points

startingPoint :: TPath -> TPoint Source #

Calculate the starting point of a TPath.

lastPoint :: TPath -> TPoint Source #

Calculate the last point of a TPath.

Functions

(->-) :: TPath -> TPoint -> TPath Source #

Alias of Line.

Parameters

data Parameter Source #

Parameters to use in a scope to change how things are rendered within that scope.

Constructors

TWidth Measure 
TColor TikZColor 
TScale Double 
TRotate Double

Angle is in degrees.

Instances

Instances details
Render Parameter Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show Parameter Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

data TikZColor Source #

Color models accepted by TikZ.

Instances

Instances details
Render TikZColor Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show TikZColor Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

data Color Source #

Basic colors.

Constructors

Red 
Green 
Blue 
Yellow 
Cyan 
Magenta 
Black 
White 

Instances

Instances details
Render Color Source # 
Instance details

Defined in Text.LaTeX.Packages.Color

Show Color Source # 
Instance details

Defined in Text.LaTeX.Packages.Color

Methods

showsPrec :: Int -> Color -> ShowS #

show :: Color -> String #

showList :: [Color] -> ShowS #

data Word8 #

8-bit unsigned integer type

Instances

Instances details
Render Word8 Source # 
Instance details

Defined in Text.LaTeX.Base.Render

Arbitrary Word8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitrary :: Gen Word8 #

shrink :: Word8 -> [Word8] #

CoArbitrary Word8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary :: Word8 -> Gen b -> Gen b #

Function Word8 
Instance details

Defined in Test.QuickCheck.Function

Methods

function :: (Word8 -> b) -> Word8 :-> b #

Data Word8

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8 #

toConstr :: Word8 -> Constr #

dataTypeOf :: Word8 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) #

gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 #

Bits Word8

Since: base-2.1

Instance details

Defined in GHC.Word

FiniteBits Word8

Since: base-4.6.0.0

Instance details

Defined in GHC.Word

Bounded Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Enum Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Ix Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Num Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Read Word8

Since: base-2.1

Instance details

Defined in GHC.Read

Integral Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Real Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Methods

toRational :: Word8 -> Rational #

Show Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Methods

showsPrec :: Int -> Word8 -> ShowS #

show :: Word8 -> String #

showList :: [Word8] -> ShowS #

Eq Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Methods

(==) :: Word8 -> Word8 -> Bool #

(/=) :: Word8 -> Word8 -> Bool #

Ord Word8

Since: base-2.1

Instance details

Defined in GHC.Word

Methods

compare :: Word8 -> Word8 -> Ordering #

(<) :: Word8 -> Word8 -> Bool #

(<=) :: Word8 -> Word8 -> Bool #

(>) :: Word8 -> Word8 -> Bool #

(>=) :: Word8 -> Word8 -> Bool #

max :: Word8 -> Word8 -> Word8 #

min :: Word8 -> Word8 -> Word8 #

Hashable Word8 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Word8 -> Int #

hash :: Word8 -> Int #

Pretty Word8 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Word8 -> Doc ann #

prettyList :: [Word8] -> Doc ann #

Random Word8 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Word8, Word8) -> g -> (Word8, g) #

random :: RandomGen g => g -> (Word8, g) #

randomRs :: RandomGen g => (Word8, Word8) -> g -> [Word8] #

randoms :: RandomGen g => g -> [Word8] #

Uniform Word8 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Word8 #

UniformRange Word8 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Word8, Word8) -> g -> m Word8 #

Lift Word8 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

lift :: Quote m => Word8 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Word8 -> Code m Word8 #

TikZ

data TikZ Source #

A TikZ script.

Instances

Instances details
Render TikZ Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Show TikZ Source # 
Instance details

Defined in Text.LaTeX.Packages.TikZ.Syntax

Methods

showsPrec :: Int -> TikZ -> ShowS #

show :: TikZ -> String #

showList :: [TikZ] -> ShowS #

emptytikz :: TikZ Source #

Just an empty script.

path :: [ActionType] -> TPath -> TikZ Source #

A path can be used in different ways.

  • Draw: Just draw the path.
  • Fill: Fill the area inside the path.
  • Clip: Clean everything outside the path.
  • Shade: Shade the area inside the path.

It is possible to stack different effects in the list.

Example of usage:

path [Draw] $ Start (pointAtXY 0 0) ->- pointAtXY 1 1

Most common usages are exported as functions. See draw, fill, clip, shade, filldraw and shadedraw.

scope :: [Parameter] -> TikZ -> TikZ Source #

Applies a scope to a TikZ script.

data ActionType Source #

Different types of actions that can be performed with a TPath. See path for more information.

Constructors

Draw 
Fill 
Clip 
Shade 

(->>) :: TikZ -> TikZ -> TikZ Source #

Sequence two TikZ scripts.

Sugar

draw :: TPath -> TikZ Source #

Equivalent to path [Draw].

fill :: TPath -> TikZ Source #

Equivalent to path [Fill].

clip :: TPath -> TikZ Source #

Equivalent to path [Clip].

shade :: TPath -> TikZ Source #

Equivalent to path [Shade].

filldraw :: TPath -> TikZ Source #

Equivalent to path [Fill,Draw].

shadedraw :: TPath -> TikZ Source #

Equivalent to path [Shade,Draw].