pandoc-crossref-0.3.21: lib-internal/Text/Pandoc/CrossRef/Util/Options.hs
{-
pandoc-crossref is a pandoc filter for numbering figures,
equations, tables and cross-references to them.
Copyright (C) 2015 Nikolay Yakimov <root@livid.pp.ru>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-}
module Text.Pandoc.CrossRef.Util.Options (Options(..), isLatexFormat, isDocxFormat) where
import Data.Text (Text)
import Text.Pandoc.CrossRef.Util.Template
import Text.Pandoc.CrossRef.References.Types
import Text.Pandoc.CrossRef.Util.Util (isFormat)
import Text.Pandoc.Definition
data Options = Options { cref :: Bool
, chaptersDepth :: Int
, listings :: Bool
, codeBlockCaptions :: Bool
, autoSectionLabels :: Bool
, numberSections :: Bool
, sectionsDepth :: Int
, figPrefix :: Bool -> Int -> [Inline]
, eqnPrefix :: Bool -> Int -> [Inline]
, tblPrefix :: Bool -> Int -> [Inline]
, lstPrefix :: Bool -> Int -> [Inline]
, secPrefix :: Bool -> Int -> [Inline]
, figPrefixTemplate :: Template
, eqnPrefixTemplate :: Template
, tblPrefixTemplate :: Template
, lstPrefixTemplate :: Template
, secPrefixTemplate :: Template
, lofItemTemplate :: BlockTemplate
, lotItemTemplate :: BlockTemplate
, lolItemTemplate :: BlockTemplate
, eqnBlockTemplate :: BlockTemplate
, eqnBlockInlineMath :: Bool
, eqnIndexTemplate :: Template
, eqnInlineTemplate :: Template
, eqnInlineTableTemplate :: Template
, eqnDisplayTemplate :: Template
, refIndexTemplate :: Prefix -> Template
, subfigureRefIndexTemplate :: Template
, secHeaderTemplate :: Template
, chapDelim :: [Inline]
, rangeDelim :: [Inline]
, pairDelim :: [Inline]
, lastDelim :: [Inline]
, refDelim :: [Inline]
, lofTitle :: [Block]
, lotTitle :: [Block]
, lolTitle :: [Block]
, outFormat :: Maybe Format
, figureTemplate :: Template
, subfigureTemplate :: Template
, subfigureChildTemplate :: Template
, ccsTemplate :: Template
, tableTemplate :: Template
, listingTemplate :: Template
, customLabel :: SubPfx -> Int -> Maybe Text
, customHeadingLabel :: Int -> Int -> Maybe Text
, ccsDelim :: [Inline]
, ccsLabelSep :: [Inline]
, tableEqns :: Bool
, autoEqnLabels :: Bool
, subfigGrid :: Bool
, subfigColumns :: Bool
, linkReferences :: Bool
, nameInLink :: Bool
, setLabelAttribute :: Bool
, equationNumberTeX :: Text
, listOfMetadata :: Bool
}
isLatexFormat :: Options -> Bool
isLatexFormat = ((||) <$> isFormat "latex" <*> isFormat "beamer") . outFormat
isDocxFormat :: Options -> Bool
isDocxFormat = isFormat "docx" . outFormat