diff --git a/Web/Informative.hs b/Web/Informative.hs
--- a/Web/Informative.hs
+++ b/Web/Informative.hs
@@ -106,8 +106,8 @@
     toWidget $(hamletFile "informative.htm")
     toWidget $(cassiusFile "informative.css")
 
-renderEditArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> Route master -> Maybe Html -> Maybe (Either Html [[Html]]) -> TextKind -> PageContent (Route master) -> T.Text -> HandlerT Informative (HandlerT master IO) Html
-renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page = do
+renderEditArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> Route master -> Maybe Html -> Maybe (Either Html [[Html]]) -> TextKind -> TextFormat -> PageContent (Route master) -> T.Text -> HandlerT Informative (HandlerT master IO) Html
+renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page = do
   seg <- liftM getSegment getYesod
   pref <- liftM getPrefix getYesod
   lift $ wikiLayout $ do
@@ -207,7 +207,7 @@
   (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ liftM (\t -> SectionData kind (fmtNorm fmt) (fmtLang fmt) (fmtLine fmt) $ Textarea t) mprec
   form <- lift $ widgetToPageContent formw
   submitR <- return $ toParent $ EditR rid
-  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page
 
 getInsertR :: T.Text -> WikiHandler Html
 getInsertR rid = do
@@ -227,12 +227,13 @@
   authR <- lift getAuthR
   loggedIn <- lift isLoggedIn
   mmsg <- getMessage
-  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ""
+  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ""
   form <- lift $ widgetToPageContent formw
   submitR <- return $ toParent $ InsertR rid
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
+  fmt <- return LaTeX
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page
 
 getPrependR :: T.Text -> WikiHandler Html
 getPrependR rid = do
@@ -252,12 +253,13 @@
   authR <- lift getAuthR
   loggedIn <- lift isLoggedIn
   mmsg <- getMessage
-  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ""
+  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ""
   form <- lift $ widgetToPageContent formw
   submitR <- return $ toParent $ PrependR rid
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
+  fmt <- return LaTeX
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page
 
 getCreateR :: T.Text -> WikiHandler Html
 getCreateR page = do
@@ -271,12 +273,13 @@
   authR <- lift getAuthR
   loggedIn <- lift isLoggedIn
   mmsg <- getMessage
-  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ("= "<>page<>" =\n\nSome text about "<>page<>".")
+  (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ("\\section{"<>page<>"}\n\nSome text about "<>page<>".")
   form <- lift $ widgetToPageContent (if exists then [whamlet|<div .error>Page does already exist.|] else formw)
   submitR <- return $ toParent $ CreateR page
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
+  fmt <- return LaTeX
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page
 
 postEditR :: T.Text -> WikiHandler Html
 postEditR rid = do
@@ -324,10 +327,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page
 
 postInsertR :: T.Text -> WikiHandler Html
 postInsertR rid = do
@@ -352,9 +355,10 @@
   user <- lift getUserName
   now <- liftIO getCurrentTime
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
-  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ""
+  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ""
   action <- lift $ runInputPost $ id <$> ireq textField "action"
   kind <- return Article
+  fmt <- return LaTeX
   submitR <- return $ toParent $ InsertR rid
   case (result,action) of
     (FormSuccess (SectionData k f lg ln (Textarea c)),"save") -> do
@@ -379,10 +383,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind f form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
 
 postPrependR :: T.Text -> WikiHandler Html
 postPrependR rid = do
@@ -407,9 +411,10 @@
   user <- lift getUserName
   now <- liftIO getCurrentTime
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
-  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ""
+  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ""
   action <- lift $ runInputPost $ id <$> ireq textField "action"
   kind <- return Article
+  fmt <- return LaTeX
   submitR <- return $ toParent $ PrependR rid
   case (result,action) of
     (FormSuccess (SectionData k f lg ln (Textarea c)),"save") -> do
@@ -434,10 +439,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
 
 postCreateR :: T.Text -> WikiHandler Html
 postCreateR page = do
@@ -454,9 +459,10 @@
   user <- lift getUserName
   now <- liftIO getCurrentTime
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
-  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article MediaWiki "haskell" 1 $ Textarea ""
+  ((result, widget),enctype) <- lift $ runFormPost $ editSectionForm $ Just $ SectionData Article LaTeX "haskell" 1 $ Textarea ""
   action <- lift $ runInputPost $ id <$> ireq textField "action"
   kind <- return Article
+  fmt <- return LaTeX
   submitR <- return $ toParent $ CreateR page
   case (exists,result,action) of
     (False,FormSuccess (SectionData k f lg ln (Textarea c)),"save") -> do
@@ -472,10 +478,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind fmt form page 
 
 postDownR :: T.Text -> WikiHandler Html
 postDownR rid = do
diff --git a/informative-edit.htm b/informative-edit.htm
--- a/informative-edit.htm
+++ b/informative-edit.htm
@@ -17,9 +17,9 @@
       #{msg}
   $maybe sect <- msect
     $case (sect, kind, fmt)
-      $of (Left c, Article, Source _ _)
-        <div .sourceContent>
-	  #{c}
+      $of (Left c, Article, Source lg ln)
+        <div .sourceContent .source-#{toClassname lg}>
+          #{c}
       $of (Left c, Article, _)
         <div .content>
           #{c}
diff --git a/informative.cabal b/informative.cabal
--- a/informative.cabal
+++ b/informative.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.14
+version:             0.1.0.20
 
 -- A short (one-line) description of the package.
 synopsis:            A yesod subsite serving a wiki.
diff --git a/informative.css b/informative.css
--- a/informative.css
+++ b/informative.css
@@ -204,11 +204,17 @@
   padding: 4px;
   margin-right: 3px;
 
+div.content div.sourceCode
+  margin-bottom: 2px;
+
+td.lineNumbers
+  width: 1em;
+
 div.sourceContent code.sourceCode
   margin-top: 0px;
   margin-bottom: 0px;
 
-div.sourceContent table
+div.sourceContent table, div.content div.sourceCode table
   width: 100%;
 
 code.cs, code.source-cs
@@ -230,7 +236,10 @@
 code.php span.co, code.php span.dv, code.php span.fl, code.php span.ch, code.php span.st, code.php span.dt, code.source-php span.co, code.source-php span.dv, code.source-php span.fl, code.source-php span.ch, code.source-php span.st, code.source-php span.dt
   color: purple
 
-pre.haskell:before, pre.source-haskell:before
+pre
+  margin: 0px
+
+pre.haskell:before, pre.source-haskell:before, div.source-haskell td.sourceCode pre:before
   content: 'Haskell';
   display: inline;
   border: 1px solid navy;
@@ -240,7 +249,7 @@
   border-bottom: none
   padding-bottom: 0px;
 
-pre.php:before, pre.source-php:before
+pre.php:before, pre.source-php:before, div.source-php td.sourceCode pre:before
   content: 'PHP';
   display: inline;
   border: 1px solid purple;
@@ -250,7 +259,7 @@
   border-bottom: none
   padding-bottom: 0px;
 
-pre.cs:before, pre.source-cs:before
+pre.cs:before, pre.source-cs:before, div.source-cs td.sourceCode pre:before
   content: 'C#';
   display: inline;
   border: 1px solid maroon;
diff --git a/informative.htm b/informative.htm
--- a/informative.htm
+++ b/informative.htm
@@ -22,8 +22,8 @@
           <a href=@{toParent $ PrependR rid}>insert
   $forall (idx, (rid, sect, kind, fmt)) <- sects
     $case (sect, kind, fmt)
-      $of (Left c, Article, Source _ _)
-        <div .sourceContent>
+      $of (Left c, Article, Source lg ln)
+        <div .sourceContent .source-#{toClassname lg}>
           #{c}
       $of (Left c, Article, _)
         <div .content>
