@@ -46,8 +46,8 @@ data WriterState =
46 , stOptions :: WriterOptions -- writer options
46 , stOptions :: WriterOptions -- writer options
49−orderedListStyles :: [[Char]]
49+orderedListStyles :: [Char]
50−orderedListStyles = cycle ["[n]","[a]", "[r]", "[g]"]
50+orderedListStyles = cycle "narg"
52-- | Convert Pandoc to ConTeXt.
52-- | Convert Pandoc to ConTeXt.
53writeConTeXt :: WriterOptions -> Pandoc -> String
53writeConTeXt :: WriterOptions -> Pandoc -> String
@@ -148,7 +148,10 @@ blockToConTeXt (RawBlock "context" str) = return $ text str <> blankline
148blockToConTeXt (RawBlock _ _ ) = return empty
148blockToConTeXt (RawBlock _ _ ) = return empty
149blockToConTeXt (BulletList lst) = do
149blockToConTeXt (BulletList lst) = do
150 contents <- mapM listItemToConTeXt lst
150 contents <- mapM listItemToConTeXt lst
151+ return $ ("\\startitemize" <> if isTightList lst
152+ then brackets "packed"
151− return $ "\\startitemize" $$ vcat contents $$ text "\\stopitemize" <> blankline
154+ vcat contents $$ text "\\stopitemize" <> blankline
152blockToConTeXt (OrderedList (start, style', delim) lst) = do
155blockToConTeXt (OrderedList (start, style', delim) lst) = do
153 st <- get
156 st <- get
154 let level = stOrderedListLevel st
157 let level = stOrderedListLevel st
@@ -171,14 +174,15 @@ blockToConTeXt (OrderedList (start, style', delim) lst) = do
171 let specs2 = if null specs2Items
174 let specs2 = if null specs2Items
173 else "[" ++ intercalate "," specs2Items ++ "]"
176 else "[" ++ intercalate "," specs2Items ++ "]"
174− let style'' = case style' of
177+ let style'' = '[': (case style' of
175− DefaultStyle -> orderedListStyles !! level
178+ DefaultStyle -> orderedListStyles !! level
176− Decimal -> "[n]"
179+ Decimal -> 'n'
177− Example -> "[n]"
180+ Example -> 'n'
178− LowerRoman -> "[r]"
181+ LowerRoman -> 'r'
179− UpperRoman -> "[R]"
182+ UpperRoman -> 'R'
180− LowerAlpha -> "[a]"
183+ LowerAlpha -> 'a'
181− UpperAlpha -> "[A]"
184+ UpperAlpha -> 'A') :
185+ if isTightList lst then ",packed]" else "]"
182 let specs = style'' ++ specs2
186 let specs = style'' ++ specs2
183 return $ "\\startitemize" <> text specs $$ vcat contents $$
187 return $ "\\startitemize" <> text specs $$ vcat contents $$
184 "\\stopitemize" <> blankline
188 "\\stopitemize" <> blankline