{-# LANGUAGE OverloadedStrings #-} import Text.LaTeX import Text.LaTeX.Packages.TikZ.Simple main :: IO () main = execLaTeXT tikzsimple >>= renderFile "tikzsimple.tex" tikzsimple :: LaTeXT IO () tikzsimple = thePreamble >> document theBody thePreamble :: LaTeXT IO () thePreamble = do documentclass [] article usepackage [] tikz theBody :: LaTeXT IO () theBody = mapM_ (center . tikzpicture . figuretikz) [myFigure,myFigure2,myFigure3] myFigure :: Figure myFigure = Scale 3 $ Figures [ RectangleFilled (0,0) 1 1 , Colored (BasicColor Green) $ RectangleFilled (-1,1) 1 1 , Colored (BasicColor Red) $ RectangleFilled ( 0,2) 1 1 , Colored (BasicColor Blue) $ RectangleFilled ( 1,1) 1 1 ] myFigure2 :: Figure myFigure2 = Scale 2 $ Figures [ Colored (RGBColor 100 35 150) $ PolygonFilled [(-2,-1),(0,1),(2,-1)] , Text (0,1.4) $ "Is this a " <> textit "blue" <> " triangle?" , Rotate (pi/9) $ Colored (BasicColor Yellow) $ Text (-0.2,-0.2) "Yes, it is!" ] myFigure3 :: Figure myFigure3 = LineWidth (Pt 2) $ pathImage 0.01 (0,4) $ -- Spira mirabilis (logarithmic spiral) \t -> ( a * exp t * cos (b*t) , a * exp t * sin (b*t) ) where a = 0.1 ; b = 4