summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/Typst.hs13
-rw-r--r--test/tables.typst14
2 files changed, 13 insertions, 14 deletions
diff --git a/src/Text/Pandoc/Writers/Typst.hs b/src/Text/Pandoc/Writers/Typst.hs
index d7d167d97..a4bbeb5c6 100644
--- a/src/Text/Pandoc/Writers/Typst.hs
+++ b/src/Text/Pandoc/Writers/Typst.hs
@@ -165,17 +165,16 @@ blockToTypst block =
captcontents <- inlinesToTypst caption
return $ "#align(center, " <> brackets captcontents <> ")"
let lab = toLabel ident
- -- TODO figure out how to specify alignment
- -- let formatalign AlignLeft = "left"
- -- formatalign AlignRight = "right"
- -- formatalign AlignCenter = "center"
- -- formatalign AlignDefault = "left"
- -- let alignspecs = map formatalign aligns
+ let formatalign AlignLeft = "left,"
+ formatalign AlignRight = "right,"
+ formatalign AlignCenter = "center,"
+ formatalign AlignDefault = "auto,"
+ let alignarray = parens $ mconcat $ map formatalign aligns
return $ "#align(center)[#table("
$$ nest 2
( "columns: " <> text (show numcols) <> "," -- auto
+ $$ "align: (col, row) => " <> alignarray <> ".at(col),"
$$ "inset: 6pt" <> ","
- $$ "align: auto,"
$$ hsep (map ((<>",") . brackets) headers')
$$ vcat (map (\x -> brackets x <> ",") (concat rows'))
)
diff --git a/test/tables.typst b/test/tables.typst
index 0d516b0e0..99a483616 100644
--- a/test/tables.typst
+++ b/test/tables.typst
@@ -2,8 +2,8 @@ Simple table with caption:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (right,left,center,auto,).at(col),
inset: 6pt,
- align: auto,
[Right], [Left], [Center], [Default],
[12],
[12],
@@ -25,8 +25,8 @@ Simple table without caption:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (right,left,center,auto,).at(col),
inset: 6pt,
- align: auto,
[Right], [Left], [Center], [Default],
[12],
[12],
@@ -47,8 +47,8 @@ Simple table indented two spaces:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (right,left,center,auto,).at(col),
inset: 6pt,
- align: auto,
[Right], [Left], [Center], [Default],
[12],
[12],
@@ -70,8 +70,8 @@ Multiline table with caption:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (center,left,right,left,).at(col),
inset: 6pt,
- align: auto,
[Centered Header], [Left Aligned], [Right Aligned], [Default aligned],
[First],
[row],
@@ -89,8 +89,8 @@ Multiline table without caption:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (center,left,right,left,).at(col),
inset: 6pt,
- align: auto,
[Centered Header], [Left Aligned], [Right Aligned], [Default aligned],
[First],
[row],
@@ -107,8 +107,8 @@ Table without column headers:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (right,left,center,right,).at(col),
inset: 6pt,
- align: auto,
[12],
[12],
[12],
@@ -128,8 +128,8 @@ Multiline table without column headers:
#align(center)[#table(
columns: 4,
+ align: (col, row) => (center,left,right,auto,).at(col),
inset: 6pt,
- align: auto,
[First],
[row],
[12.0],