From 01483f91bd152ad806a8110d75353edfc9551ec8 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sun, 22 Jan 2017 10:37:19 +0100
Subject: [PATCH] Revert "Added page breaks into Pandoc."

This reverts commit f02a12aff638fa2339192231b8f601bffdfe3e14.
---
 pandoc.cabal                                 |  6 ++---
 src/Text/Pandoc/Readers/Odt/ContentReader.hs | 17 +++---------
 src/Text/Pandoc/Readers/Odt/StyleReader.hs   | 27 +++++---------------
 src/Text/Pandoc/Writers/AsciiDoc.hs          |  1 -
 src/Text/Pandoc/Writers/CommonMark.hs        |  1 -
 src/Text/Pandoc/Writers/ConTeXt.hs           |  1 -
 src/Text/Pandoc/Writers/Custom.hs            |  2 --
 src/Text/Pandoc/Writers/Docbook.hs           |  1 -
 src/Text/Pandoc/Writers/Docx.hs              |  1 -
 src/Text/Pandoc/Writers/DokuWiki.hs          |  2 --
 src/Text/Pandoc/Writers/FB2.hs               |  2 --
 src/Text/Pandoc/Writers/HTML.hs              |  1 -
 src/Text/Pandoc/Writers/Haddock.hs           |  1 -
 src/Text/Pandoc/Writers/ICML.hs              |  1 -
 src/Text/Pandoc/Writers/LaTeX.hs             |  1 -
 src/Text/Pandoc/Writers/Man.hs               |  1 -
 src/Text/Pandoc/Writers/Markdown.hs          |  1 -
 src/Text/Pandoc/Writers/MediaWiki.hs         |  2 --
 src/Text/Pandoc/Writers/OpenDocument.hs      | 27 +++-----------------
 src/Text/Pandoc/Writers/Org.hs               |  1 -
 src/Text/Pandoc/Writers/RST.hs               |  1 -
 src/Text/Pandoc/Writers/RTF.hs               |  1 -
 src/Text/Pandoc/Writers/TEI.hs               |  1 -
 src/Text/Pandoc/Writers/Texinfo.hs           |  2 --
 src/Text/Pandoc/Writers/Textile.hs           |  2 --
 src/Text/Pandoc/Writers/ZimWiki.hs           |  2 --
 stack.yaml                                   |  5 +---
 27 files changed, 16 insertions(+), 95 deletions(-)

diff --git a/pandoc.cabal b/pandoc.cabal
index b62fe551d..7cb292b05 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -270,7 +270,7 @@ Library
                  xml >= 1.3.12 && < 1.4,
                  random >= 1 && < 1.2,
                  extensible-exceptions >= 0.1 && < 0.2,
-                 pandoc-types >= 1.18 && < 1.19,
+                 pandoc-types >= 1.17 && < 1.18,
                  aeson >= 0.7 && < 1.2,
                  tagsoup >= 0.13.7 && < 0.15,
                  base64-bytestring >= 0.1 && < 1.1,
@@ -426,7 +426,7 @@ Library
 
 Executable pandoc
   Build-Depends: pandoc,
-                 pandoc-types >= 1.18 && < 1.19,
+                 pandoc-types >= 1.17 && < 1.18,
                  base >= 4.2 && <5,
                  directory >= 1.2 && < 1.4,
                  filepath >= 1.1 && < 1.5,
@@ -504,7 +504,7 @@ Test-Suite test-pandoc
   Build-Depends:  base >= 4.2 && < 5,
                   syb >= 0.1 && < 0.7,
                   pandoc,
-                  pandoc-types >= 1.18 && < 1.19,
+                  pandoc-types >= 1.17 && < 1.18,
                   bytestring >= 0.9 && < 0.11,
                   text >= 0.11 && < 1.3,
                   directory >= 1 && < 1.4,
diff --git a/src/Text/Pandoc/Readers/Odt/ContentReader.hs b/src/Text/Pandoc/Readers/Odt/ContentReader.hs
index 0df86e2a5..2672b01ef 100644
--- a/src/Text/Pandoc/Readers/Odt/ContentReader.hs
+++ b/src/Text/Pandoc/Readers/Odt/ContentReader.hs
@@ -381,9 +381,9 @@ getParaModifier :: Style -> ParaModifier
 getParaModifier Style{..} | Just props <- paraProperties styleProperties
                           , isBlockQuote (indentation props)
                                          (margin_left props)
-                          = pageBreakMaybe (paraProperties styleProperties) blockQuote
+                          = blockQuote
                           | otherwise
-                          = pageBreakMaybe (paraProperties styleProperties) id
+                          = id
   where
   isBlockQuote mIndent mMargin
     | LengthValueMM indent <- mIndent
@@ -408,19 +408,7 @@ getParaModifier Style{..} | Just props <- paraProperties styleProperties
 
     | otherwise
      = False
-  pageBreakMaybe :: Maybe ParaProperties -> ParaModifier -> ParaModifier
-  pageBreakMaybe (Just props) modifier = insertPageBreak (page_break props) modifier
-  pageBreakMaybe Nothing      modifier = modifier
 
-  insertPageBreak :: ParaBreak -> ParaModifier -> ParaModifier
-  insertPageBreak PageAfter modifier  =
-    \x -> (fromList (toList (modifier x) ++ [Para (toList pageBreak)]))
-  insertPageBreak PageBefore modifier =
-    \x -> (fromList (Para (toList pageBreak) : toList (modifier x)))
-  insertPageBreak PageBoth modifier   =
-    \x -> (fromList ((Para (toList pageBreak) : toList (modifier x)) ++ [Para (toList pageBreak)]))
-  insertPageBreak _  modifier         =
-    modifier
 --
 constructPara :: OdtReaderSafe Blocks Blocks -> OdtReaderSafe Blocks Blocks
 constructPara reader = proc blocks -> do
@@ -906,6 +894,7 @@ read_reference_ref = matchingElement NsText "reference-ref"
                     $    maybeInAnchorRef
                      <<< matchChildContent [] read_plain_text
 
+
 ----------------------
 -- Entry point
 ----------------------
diff --git a/src/Text/Pandoc/Readers/Odt/StyleReader.hs b/src/Text/Pandoc/Readers/Odt/StyleReader.hs
index cd31f50a8..26ba6df82 100644
--- a/src/Text/Pandoc/Readers/Odt/StyleReader.hs
+++ b/src/Text/Pandoc/Readers/Odt/StyleReader.hs
@@ -43,7 +43,6 @@ module Text.Pandoc.Readers.Odt.StyleReader
 , TextProperties       (..)
 , ParaProperties       (..)
 , VerticalTextPosition (..)
-, ParaBreak            (..)
 , ListItemNumberFormat (..)
 , ListLevel
 , ListStyle            (..)
@@ -274,7 +273,6 @@ instance Default TextProperties where
 data ParaProperties   = PropP { paraNumbering :: ParaNumbering
                               , indentation   :: LengthOrPercent
                               , margin_left   :: LengthOrPercent
-                              , page_break    :: ParaBreak
                               }
   deriving ( Eq, Show )
 
@@ -282,7 +280,6 @@ instance Default ParaProperties where
   def =                 PropP { paraNumbering = NumberingNone
                               , indentation   = def
                               , margin_left   = def
-                              , page_break    = AutoNone
                               }
 
 ----
@@ -317,9 +314,6 @@ instance Lookupable UnderlineMode where
 data ParaNumbering = NumberingNone | NumberingKeep | NumberingRestart Int
   deriving ( Eq, Show )
 
-data ParaBreak = AutoNone | PageBefore | PageAfter | PageBoth
-  deriving ( Eq, Show )
-
 data LengthOrPercent = LengthValueMM Int | PercentValue Int
   deriving ( Eq, Show )
 
@@ -539,20 +533,16 @@ readLineMode modeAttr styleAttr = proc x -> do
 readParaProperties :: StyleReader _x ParaProperties
 readParaProperties =
    executeIn NsStyle "paragraph-properties" $ liftAsSuccess
-     ( liftA4 PropP
+     ( liftA3 PropP
        ( liftA2 readNumbering
-         ( isSet'              NsText   "number-lines"            )
-         ( readAttr'           NsText   "line-number"             )
+         ( isSet'           NsText   "number-lines"           )
+         ( readAttr'        NsText   "line-number"            )
        )
        ( liftA2 readIndentation
-         ( isSetWithDefault    NsStyle  "auto-text-indent" False  )
-         ( getAttr             NsXSL_FO "text-indent"             )
-       )
-       (   getAttr             NsXSL_FO "margin-left"             )
-       ( liftA2 readPageBreak
-         ( findAttrWithDefault NsXSL_FO "break-before"     "auto" )
-         ( findAttrWithDefault NsXSL_FO "break-after"      "auto" )
+         ( isSetWithDefault NsStyle  "auto-text-indent" False )
+         ( getAttr          NsXSL_FO "text-indent"            )
        )
+       (   getAttr          NsXSL_FO "margin-left"            )
      )
   where readNumbering (Just True) (Just n) = NumberingRestart n
         readNumbering (Just True)  _       = NumberingKeep
@@ -561,11 +551,6 @@ readParaProperties =
         readIndentation False indent = indent
         readIndentation True  _      = def
 
-        readPageBreak "page" "page" = PageBoth
-        readPageBreak "page" _      = PageBefore
-        readPageBreak _      "page" = PageAfter
-        readPageBreak _      _      = AutoNone
-
 ----
 -- List styles
 ----
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs
index eed6183b4..356b29504 100644
--- a/src/Text/Pandoc/Writers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Writers/AsciiDoc.hs
@@ -413,7 +413,6 @@ inlineToAsciiDoc _ (RawInline f s)
   | f == "asciidoc" = return $ text s
   | otherwise       = return empty
 inlineToAsciiDoc _ LineBreak = return $ " +" <> cr
-inlineToAsciiDoc _ PageBreak = return empty
 inlineToAsciiDoc _ Space = return space
 inlineToAsciiDoc opts SoftBreak =
   case writerWrapText opts of
diff --git a/src/Text/Pandoc/Writers/CommonMark.hs b/src/Text/Pandoc/Writers/CommonMark.hs
index c1963a9a8..c58e83f19 100644
--- a/src/Text/Pandoc/Writers/CommonMark.hs
+++ b/src/Text/Pandoc/Writers/CommonMark.hs
@@ -149,7 +149,6 @@ inlineToNodes :: Inline -> [Node] -> [Node]
 inlineToNodes (Str s) = (node (TEXT (T.pack s)) [] :)
 inlineToNodes Space   = (node (TEXT (T.pack " ")) [] :)
 inlineToNodes LineBreak = (node LINEBREAK [] :)
-inlineToNodes PageBreak = id
 inlineToNodes SoftBreak = (node SOFTBREAK [] :)
 inlineToNodes (Emph xs) = (node EMPH (inlinesToNodes xs) :)
 inlineToNodes (Strong xs) = (node STRONG (inlinesToNodes xs) :)
diff --git a/src/Text/Pandoc/Writers/ConTeXt.hs b/src/Text/Pandoc/Writers/ConTeXt.hs
index b997c306a..ea8b90db3 100644
--- a/src/Text/Pandoc/Writers/ConTeXt.hs
+++ b/src/Text/Pandoc/Writers/ConTeXt.hs
@@ -347,7 +347,6 @@ inlineToConTeXt SoftBreak = do
                WrapAuto     -> space
                WrapNone     -> space
                WrapPreserve -> cr
-inlineToConTeXt PageBreak = return empty
 inlineToConTeXt Space = return space
 -- Handle HTML-like internal document references to sections
 inlineToConTeXt (Link _ txt (('#' : ref), _)) = do
diff --git a/src/Text/Pandoc/Writers/Custom.hs b/src/Text/Pandoc/Writers/Custom.hs
index 371dd21c3..cf641dcd6 100644
--- a/src/Text/Pandoc/Writers/Custom.hs
+++ b/src/Text/Pandoc/Writers/Custom.hs
@@ -310,8 +310,6 @@ inlineToCustom lua (RawInline format str) =
 
 inlineToCustom lua (LineBreak) = callfunc lua "LineBreak"
 
-inlineToCustom lua (PageBreak) = callfunc lua "PageBreak"
-
 inlineToCustom lua (Link attr txt (src,tit)) =
   callfunc lua "Link" txt src tit (attrToMap attr)
 
diff --git a/src/Text/Pandoc/Writers/Docbook.hs b/src/Text/Pandoc/Writers/Docbook.hs
index 0ec7445be..32695e128 100644
--- a/src/Text/Pandoc/Writers/Docbook.hs
+++ b/src/Text/Pandoc/Writers/Docbook.hs
@@ -373,7 +373,6 @@ inlineToDocbook _ (RawInline f x)
 inlineToDocbook _ LineBreak = return $ text "\n"
 -- currently ignore, would require the option to add custom
 -- styles to the document
-inlineToDocbook _ PageBreak = return empty
 inlineToDocbook _ Space = return space
 -- because we use \n for LineBreak, we can't do soft breaks:
 inlineToDocbook _ SoftBreak = return space
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs
index 25e224a7a..b7fd3e2a3 100644
--- a/src/Text/Pandoc/Writers/Docx.hs
+++ b/src/Text/Pandoc/Writers/Docx.hs
@@ -1106,7 +1106,6 @@ inlineToOpenXML' opts (Strikeout lst) =
   withTextProp (mknode "w:strike" [] ())
   $ inlinesToOpenXML opts lst
 inlineToOpenXML' _ LineBreak = return [br]
-inlineToOpenXML' _ PageBreak = return [pageBreak]
 inlineToOpenXML' _ (RawInline f str)
   | f == Format "openxml" = return [ x | Elem x <- parseXML str ]
   | otherwise            = return []
diff --git a/src/Text/Pandoc/Writers/DokuWiki.hs b/src/Text/Pandoc/Writers/DokuWiki.hs
index 42cddcef8..79a371d4d 100644
--- a/src/Text/Pandoc/Writers/DokuWiki.hs
+++ b/src/Text/Pandoc/Writers/DokuWiki.hs
@@ -475,8 +475,6 @@ inlineToDokuWiki _ (RawInline f str)
 
 inlineToDokuWiki _ LineBreak = return "\\\\\n"
 
-inlineToDokuWiki _ PageBreak = return mempty
-
 inlineToDokuWiki opts SoftBreak =
   case writerWrapText opts of
        WrapNone     -> return " "
diff --git a/src/Text/Pandoc/Writers/FB2.hs b/src/Text/Pandoc/Writers/FB2.hs
index 7baac4f9e..600d34499 100644
--- a/src/Text/Pandoc/Writers/FB2.hs
+++ b/src/Text/Pandoc/Writers/FB2.hs
@@ -437,7 +437,6 @@ toXml (Code _ s) = return [el "code" s]
 toXml Space = return [txt " "]
 toXml SoftBreak = return [txt " "]
 toXml LineBreak = return [el "empty-line" ()]
-toXml PageBreak = return []
 toXml (Math _ formula) = insertMath InlineImage formula
 toXml (RawInline _ _) = return []  -- raw TeX and raw HTML are suppressed
 toXml (Link _ text (url,ttl)) = do
@@ -569,7 +568,6 @@ plain (Code _ s) = s
 plain Space = " "
 plain SoftBreak = " "
 plain LineBreak = "\n"
-plain PageBreak = "\n"
 plain (Math _ s) = s
 plain (RawInline _ s) = s
 plain (Link _ text (url,_)) = concat (map plain text ++ [" <", url, ">"])
diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs
index a63047866..e144d0d63 100644
--- a/src/Text/Pandoc/Writers/HTML.hs
+++ b/src/Text/Pandoc/Writers/HTML.hs
@@ -713,7 +713,6 @@ inlineToHtml opts inline =
                                        WrapPreserve -> preEscapedString "\n"
     (LineBreak)      -> return $ (if writerHtml5 opts then H5.br else H.br)
                                  <> strToHtml "\n"
-    (PageBreak)      -> return mempty
     (Span (id',classes,kvs) ils)
                      -> inlineListToHtml opts ils >>=
                            return . addAttrs opts attr' . H.span
diff --git a/src/Text/Pandoc/Writers/Haddock.hs b/src/Text/Pandoc/Writers/Haddock.hs
index 115d5d8d8..1c160ea1c 100644
--- a/src/Text/Pandoc/Writers/Haddock.hs
+++ b/src/Text/Pandoc/Writers/Haddock.hs
@@ -339,7 +339,6 @@ inlineToHaddock _ (RawInline f str)
   | otherwise = return empty
 -- no line break in haddock (see above on CodeBlock)
 inlineToHaddock _ LineBreak = return cr
-inlineToHaddock _ PageBreak = return empty
 inlineToHaddock opts SoftBreak =
   case writerWrapText opts of
        WrapAuto     -> return space
diff --git a/src/Text/Pandoc/Writers/ICML.hs b/src/Text/Pandoc/Writers/ICML.hs
index b68b9067a..41bca11b2 100644
--- a/src/Text/Pandoc/Writers/ICML.hs
+++ b/src/Text/Pandoc/Writers/ICML.hs
@@ -435,7 +435,6 @@ inlineToICML opts style SoftBreak =
        WrapNone     -> charStyle style space
        WrapPreserve -> charStyle style cr
 inlineToICML _ style LineBreak = charStyle style $ text lineSeparator
-inlineToICML _ _ PageBreak = return empty
 inlineToICML opts style (Math mt str) =
   lift (texMathToInlines mt str) >>=
     (fmap cat . mapM (inlineToICML opts style))
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 655ea7dac..031cd584e 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -961,7 +961,6 @@ inlineToLaTeX SoftBreak = do
        WrapAuto     -> return space
        WrapNone     -> return space
        WrapPreserve -> return cr
-inlineToLaTeX PageBreak = return $ "\\clearpage{}"
 inlineToLaTeX Space = return space
 inlineToLaTeX (Link _ txt ('#':ident, _)) = do
   contents <- inlineListToLaTeX txt
diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs
index a9a30fd45..36ed5fab0 100644
--- a/src/Text/Pandoc/Writers/Man.hs
+++ b/src/Text/Pandoc/Writers/Man.hs
@@ -351,7 +351,6 @@ inlineToMan _ (RawInline f str)
   | otherwise         = return empty
 inlineToMan _ LineBreak = return $
   cr <> text ".PD 0" $$ text ".P" $$ text ".PD" <> cr
-inlineToMan _ PageBreak = return empty
 inlineToMan _ SoftBreak = return space
 inlineToMan _ Space = return space
 inlineToMan opts (Link _ txt (src, _)) = do
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 8ae550fe1..8de09864a 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -1038,7 +1038,6 @@ inlineToMarkdown opts SoftBreak = do
                 WrapNone     -> space'
                 WrapAuto     -> space'
                 WrapPreserve -> cr
-inlineToMarkdown _ PageBreak = return empty
 inlineToMarkdown opts (Cite [] lst) = inlineListToMarkdown opts lst
 inlineToMarkdown opts (Cite (c:cs) lst)
   | not (isEnabled Ext_citations opts) = inlineListToMarkdown opts lst
diff --git a/src/Text/Pandoc/Writers/MediaWiki.hs b/src/Text/Pandoc/Writers/MediaWiki.hs
index 774139c43..dc6206e6c 100644
--- a/src/Text/Pandoc/Writers/MediaWiki.hs
+++ b/src/Text/Pandoc/Writers/MediaWiki.hs
@@ -405,8 +405,6 @@ inlineToMediaWiki (RawInline f str)
 
 inlineToMediaWiki LineBreak = return "<br />\n"
 
-inlineToMediaWiki PageBreak = return mempty
-
 inlineToMediaWiki SoftBreak = do
   wrapText <- gets (writerWrapText . stOptions)
   case wrapText of
diff --git a/src/Text/Pandoc/Writers/OpenDocument.hs b/src/Text/Pandoc/Writers/OpenDocument.hs
index 71e599e09..f50b240a4 100644
--- a/src/Text/Pandoc/Writers/OpenDocument.hs
+++ b/src/Text/Pandoc/Writers/OpenDocument.hs
@@ -35,7 +35,6 @@ import Text.Pandoc.Options
 import Text.Pandoc.XML
 import Text.Pandoc.Shared (linesToPara)
 import Text.Pandoc.Templates (renderTemplate')
-import Text.Pandoc.Readers.Odt.StyleReader hiding (listStyle)
 import Text.Pandoc.Writers.Math
 import Text.Pandoc.Pretty
 import Text.Printf ( printf )
@@ -319,7 +318,9 @@ blockToOpenDocument o bs
                                   else inParagraphTags =<< inlinesToOpenDocument o b
     | Para [Image attr c (s,'f':'i':'g':':':t)] <- bs
                              = figure attr c s t
-    | Para           b <- bs = paragraph b
+    | Para           b <- bs = if null b
+                                  then return empty
+                                  else inParagraphTags =<< inlinesToOpenDocument o b
     | LineBlock      b <- bs = blockToOpenDocument o $ linesToPara b
     | Div _ xs         <- bs = blocksToOpenDocument o xs
     | Header     i _ b <- bs = setFirstPara >>
@@ -380,22 +381,6 @@ blockToOpenDocument o bs
         captionDoc <- withParagraphStyle o "FigureCaption" [Para caption]
         return $ imageDoc $$ captionDoc
 
-      endsWithPageBreak []          = False
-      endsWithPageBreak [PageBreak] = True
-      endsWithPageBreak (_ : xs)    = endsWithPageBreak xs
-
-      paragraph :: PandocMonad m => [Inline] -> OD m Doc
-      paragraph []                                          = return empty
-      paragraph (PageBreak : rest) | endsWithPageBreak rest = paraWithBreak PageBoth rest
-      paragraph (PageBreak : rest)                          = paraWithBreak PageBefore rest
-      paragraph inlines | endsWithPageBreak inlines         = paraWithBreak PageAfter inlines
-      paragraph inlines                                     = inParagraphTags =<< inlinesToOpenDocument o inlines
-
-      paraWithBreak :: PandocMonad m => ParaBreak -> [Inline] -> OD m Doc
-      paraWithBreak breakKind bs' = do
-        pn <- paraBreakStyle breakKind
-        withParagraphStyle o ("P" ++ show pn) [Para bs']
-
 colHeadsToOpenDocument :: PandocMonad m
                        => WriterOptions -> String -> [String] -> [[Block]]
                        -> OD m Doc
@@ -595,12 +580,6 @@ paraStyle attrs = do
   addParaStyle $ inTags True "style:style" (styleAttr ++ attrs) paraProps
   return pn
 
-paraBreakStyle :: PandocMonad m => ParaBreak -> OD m Int
-paraBreakStyle PageBefore = paraStyle "Text_20_body" [("fo:break-before", "page")]
-paraBreakStyle PageAfter  = paraStyle "Text_20_body" [("fo:break-after", "page")]
-paraBreakStyle PageBoth   = paraStyle "Text_20_body" [("fo:break-before", "page"), ("fo:break-after", "page")]
-paraBreakStyle AutoNone   = paraStyle "Text_20_body" []
-
 paraListStyle :: PandocMonad m => Int -> OD m Int
 paraListStyle l = paraStyle
   [("style:parent-style-name","Text_20_body")
diff --git a/src/Text/Pandoc/Writers/Org.hs b/src/Text/Pandoc/Writers/Org.hs
index febb2e98f..09c924397 100644
--- a/src/Text/Pandoc/Writers/Org.hs
+++ b/src/Text/Pandoc/Writers/Org.hs
@@ -351,7 +351,6 @@ inlineToOrg (RawInline f@(Format f') str) =
            then text str
            else "@@" <> text f' <> ":" <> text str <> "@@"
 inlineToOrg LineBreak = return (text "\\\\" <> cr)
-inlineToOrg PageBreak = return empty
 inlineToOrg Space = return space
 inlineToOrg SoftBreak = do
   wrapText <- gets (writerWrapText . stOptions)
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs
index 438407cce..ee3ecd9cd 100644
--- a/src/Text/Pandoc/Writers/RST.hs
+++ b/src/Text/Pandoc/Writers/RST.hs
@@ -462,7 +462,6 @@ inlineToRST SoftBreak = do
         WrapPreserve  -> return cr
         WrapAuto      -> return space
         WrapNone      -> return space
-inlineToRST PageBreak = return $ ".. pagebreak::"
 -- autolink
 inlineToRST (Link _ [Str str] (src, _))
   | isURI src &&
diff --git a/src/Text/Pandoc/Writers/RTF.hs b/src/Text/Pandoc/Writers/RTF.hs
index bd3461a03..77f01e4a1 100644
--- a/src/Text/Pandoc/Writers/RTF.hs
+++ b/src/Text/Pandoc/Writers/RTF.hs
@@ -396,7 +396,6 @@ inlineToRTF (RawInline f str)
   | otherwise         = return ""
 inlineToRTF (LineBreak) = return "\\line "
 inlineToRTF SoftBreak = return " "
-inlineToRTF PageBreak = return "\\page "
 inlineToRTF Space = return " "
 inlineToRTF (Link _ text (src, _)) = do
   contents <- inlinesToRTF text
diff --git a/src/Text/Pandoc/Writers/TEI.hs b/src/Text/Pandoc/Writers/TEI.hs
index 0a22ae085..c589c0c36 100644
--- a/src/Text/Pandoc/Writers/TEI.hs
+++ b/src/Text/Pandoc/Writers/TEI.hs
@@ -285,7 +285,6 @@ inlineToTEI _ (Math t str) =
 inlineToTEI _ (RawInline f x) | f == "tei"     = text x
                               | otherwise      = empty
 inlineToTEI _ LineBreak = selfClosingTag "lb" []
-inlineToTEI _ PageBreak = selfClosingTag "pb" []
 inlineToTEI _ Space = space
 -- because we use \n for LineBreak, we can't do soft breaks:
 inlineToTEI _ SoftBreak = space
diff --git a/src/Text/Pandoc/Writers/Texinfo.hs b/src/Text/Pandoc/Writers/Texinfo.hs
index 783a01063..a66ffe88b 100644
--- a/src/Text/Pandoc/Writers/Texinfo.hs
+++ b/src/Text/Pandoc/Writers/Texinfo.hs
@@ -458,8 +458,6 @@ inlineToTexinfo SoftBreak = do
       WrapPreserve -> return cr
 inlineToTexinfo Space = return space
 
-inlineToTexinfo PageBreak = return $ text "@page"
-
 inlineToTexinfo (Link _ txt (src@('#':_), _)) = do
   contents <- escapeCommas $ inlineListToTexinfo txt
   return $ text "@ref" <>
diff --git a/src/Text/Pandoc/Writers/Textile.hs b/src/Text/Pandoc/Writers/Textile.hs
index 9691b7705..45f1780cf 100644
--- a/src/Text/Pandoc/Writers/Textile.hs
+++ b/src/Text/Pandoc/Writers/Textile.hs
@@ -438,8 +438,6 @@ inlineToTextile opts (RawInline f str)
 
 inlineToTextile _ LineBreak = return "\n"
 
-inlineToTextile _ PageBreak = return mempty
-
 inlineToTextile _ SoftBreak = return " "
 
 inlineToTextile _ Space = return " "
diff --git a/src/Text/Pandoc/Writers/ZimWiki.hs b/src/Text/Pandoc/Writers/ZimWiki.hs
index f15b290e4..42b168418 100644
--- a/src/Text/Pandoc/Writers/ZimWiki.hs
+++ b/src/Text/Pandoc/Writers/ZimWiki.hs
@@ -320,8 +320,6 @@ inlineToZimWiki opts (RawInline f str)
 
 inlineToZimWiki _ LineBreak = return "\n" -- was \\\\
 
-inlineToZimWiki _ PageBreak = return mempty
-
 inlineToZimWiki opts SoftBreak =
   case writerWrapText opts of
        WrapNone     -> return " "
diff --git a/stack.yaml b/stack.yaml
index 3d4d4797d..66cab58a5 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -7,10 +7,6 @@ flags:
     network-uri: true
 packages:
 - '.'
-- location:
-    git: https://github.com/jgm/pandoc-types.git
-    commit: 973394685aad945ccd92a86bf76e5c644e72e127
-  extra-dep: true
 - location:
     git: https://github.com/jgm/texmath.git
     commit: 31273683a376e97848028e4619f28ab8c03c88af
@@ -19,4 +15,5 @@ extra-deps:
 - doctemplates-0.1.0.2
 - pandoc-types-1.17.0.4
 - skylighting-0.1.1.1
+- texmath-0.9
 resolver: lts-7.14