@@ -1031,6 +1031,14 @@ sectionHeader classes ident level lst = do
1031 braces txtNoNotes
1031 braces txtNoNotes
1032 else empty
1032 else empty
1034+mapAlignment :: Text -> Text
1035+mapAlignment a = case a of
1037+ "top-baseline" -> "t"
1034wrapDiv :: PandocMonad m => Attr -> Doc Text -> LW m (Doc Text)
1042wrapDiv :: PandocMonad m => Attr -> Doc Text -> LW m (Doc Text)
1035wrapDiv (_,classes,kvs) t = do
1043wrapDiv (_,classes,kvs) t = do
1036 beamer <- gets stBeamer
1044 beamer <- gets stBeamer
@@ -1038,14 +1046,25 @@ wrapDiv (_,classes,kvs) t = do
1038 lang <- toLang $ lookup "lang" kvs
1046 lang <- toLang $ lookup "lang" kvs
1039 let wrapColumns = if beamer && "columns" `elem` classes
1047 let wrapColumns = if beamer && "columns" `elem` classes
1040 then \contents ->
1048 then \contents ->
1049+ let valign = maybe "T" mapAlignment (lookup "align" kvs)
1050+ totalwidth = maybe [] (\x -> ["totalwidth=" <> x])
1051+ (lookup "totalwidth" kvs)
1052+ onlytextwidth = filter ((==) "onlytextwidth") classes
1053+ options = text $ T.unpack $ T.intercalate "," $
1054+ valign : totalwidth ++ onlytextwidth
1041− inCmd "begin" "columns" <> brackets "T"
1055+ in inCmd "begin" "columns" <> brackets options
1042− $$ contents
1056+ $$ contents
1043− $$ inCmd "end" "columns"
1057+ $$ inCmd "end" "columns"
1045 wrapColumn = if beamer && "column" `elem` classes
1059 wrapColumn = if beamer && "column" `elem` classes
1046 then \contents ->
1060 then \contents ->
1063+ (brackets . text . T.unpack . mapAlignment)
1064+ (lookup "align" kvs)
1047− let w = maybe "0.48" fromPct (lookup "width" kvs)
1065+ w = maybe "0.48" fromPct (lookup "width" kvs)
1048− in inCmd "begin" "column" <>
1066+ in inCmd "begin" "column" <>
1049 braces (literal w <> "\\textwidth")
1068 braces (literal w <> "\\textwidth")
1050 $$ contents
1069 $$ contents
1051 $$ inCmd "end" "column"
1070 $$ inCmd "end" "column"