Let papersizes a0, a1, a2, ... be case-insensitive in LaTeX and ConTeXt.

This commit is contained in:
John MacFarlane 2017-11-29 09:45:38 -08:00
parent 7751391fce
commit a276bb0a8a
2 changed files with 8 additions and 5 deletions

View file

@ -31,7 +31,7 @@ Conversion of 'Pandoc' format into ConTeXt.
-}
module Text.Pandoc.Writers.ConTeXt ( writeConTeXt ) where
import Control.Monad.State.Strict
import Data.Char (ord)
import Data.Char (ord, isDigit)
import Data.List (intercalate, intersperse)
import Data.Maybe (mapMaybe)
import Data.Text (Text)
@ -104,8 +104,9 @@ pandocToConTeXt options (Pandoc meta blocks) = do
$ defField "number-sections" (writerNumberSections options)
$ maybe id (defField "context-lang") mblang
$ (case getField "papersize" metadata of
Just ("a4" :: String) -> resetField "papersize"
("A4" :: String)
Just (('a':d:ds) :: String)
| all isDigit (d:ds) -> resetField "papersize"
(('A':d:ds) :: String)
_ -> id) metadata
let context' = defField "context-dir" (toContextDir
$ getField "dir" context) context

View file

@ -253,8 +253,10 @@ pandocToLaTeX options (Pandoc meta blocks) = do
defField "section-titles" True $
defField "geometry" geometryFromMargins $
(case getField "papersize" metadata of
Just ("A4" :: String) -> resetField "papersize"
("a4" :: String)
-- uppercase a4, a5, etc.
Just (('A':d:ds) :: String)
| all isDigit (d:ds) -> resetField "papersize"
(('a':d:ds) :: String)
_ -> id)
metadata
let context' =