@@ -46,8 +46,8 @@ data WriterState =
4646 , stOptions :: WriterOptions -- writer options
4747 }
4848
49−orderedListStyles :: [[Char]]
50−orderedListStyles = cycle ["[n]","[a]", "[r]", "[g]"]
49+orderedListStyles :: [Char]
50+orderedListStyles = cycle "narg"
5151
5252-- | Convert Pandoc to ConTeXt.
5353writeConTeXt :: WriterOptions -> Pandoc -> String
@@ -148,7 +148,10 @@ blockToConTeXt (RawBlock "context" str) = return $ text str <> blankline
148148blockToConTeXt (RawBlock _ _ ) = return empty
149149blockToConTeXt (BulletList lst) = do
150150 contents <- mapM listItemToConTeXt lst
151− return $ "\\startitemize" $$ vcat contents $$ text "\\stopitemize" <> blankline
151+ return $ ("\\startitemize" <> if isTightList lst
152+ then brackets "packed"
153+ else empty) $$
154+ vcat contents $$ text "\\stopitemize" <> blankline
152155blockToConTeXt (OrderedList (start, style', delim) lst) = do
153156 st <- get
154157 let level = stOrderedListLevel st
@@ -171,14 +174,15 @@ blockToConTeXt (OrderedList (start, style', delim) lst) = do
171174 let specs2 = if null specs2Items
172175 then ""
173176 else "[" ++ intercalate "," specs2Items ++ "]"
174− let style'' = case style' of
175− DefaultStyle -> orderedListStyles !! level
176− Decimal -> "[n]"
177− Example -> "[n]"
178− LowerRoman -> "[r]"
179− UpperRoman -> "[R]"
180− LowerAlpha -> "[a]"
181− UpperAlpha -> "[A]"
177+ let style'' = '[': (case style' of
178+ DefaultStyle -> orderedListStyles !! level
179+ Decimal -> 'n'
180+ Example -> 'n'
181+ LowerRoman -> 'r'
182+ UpperRoman -> 'R'
183+ LowerAlpha -> 'a'
184+ UpperAlpha -> 'A') :
185+ if isTightList lst then ",packed]" else "]"
182186 let specs = style'' ++ specs2
183187 return $ "\\startitemize" <> text specs $$ vcat contents $$
184188 "\\stopitemize" <> blankline