git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: Add support for tabularx environment (#3632)
commit6e55e6837a38b83d0ed4329ab366c699d6c2551f authorschrieveslaach <schrieveslaach@online.de> dateWed 3 May 2017, 12:16 (10 years ago) parente02cfcd
2 files changed+116−1
src/Text/Pandoc/Readers/LaTeX.hs+6−1 test/command/tabularx.md+110
src/Text/Pandoc/Readers/LaTeX.hs+6−1
@@ -1156,6 +1156,7 @@ environments = M.fromList
11561156 , ("table", env "table" $
11571157 resetCaption *> skipopts *> blocks >>= addTableCaption)
11581158 , ("tabular*", env "tabular" $ simpTable True)
1159+ , ("tabularx", env "tabularx" $ simpTable True)
11591160 , ("tabular", env "tabular" $ simpTable False)
11601161 , ("quote", blockQuote <$> env "quote" blocks)
11611162 , ("quotation", blockQuote <$> env "quotation" blocks)
@@ -1414,7 +1415,11 @@ parseAligns = try $ do
14141415 let lAlign = AlignLeft <$ char 'l'
14151416 let rAlign = AlignRight <$ char 'r'
14161417 let parAlign = AlignLeft <$ (char 'p' >> braced)
1417− let alignChar = cAlign <|> lAlign <|> rAlign <|> parAlign
1418+ -- algins from tabularx
1419+ let xAlign = AlignLeft <$ char 'X'
1420+ let mAlign = AlignLeft <$ (char 'm' >> braced)
1421+ let bAlign = AlignLeft <$ (char 'b' >> braced)
1422+ let alignChar = cAlign <|> lAlign <|> rAlign <|> parAlign <|> xAlign <|> mAlign <|> bAlign
14181423 let alignPrefix = char '>' >> braced
14191424 let alignSuffix = char '<' >> braced
14201425 let alignSpec = do
test/command/tabularx.mdnew file+110
@@ -0,0 +1,110 @@
1+```
2+% pandoc -f latex -t native
3+\begin{tabularx}{\linewidth}{|c|c|c|}
4+\hline
5+ Column Heading 1
6+ & Column Heading 2
7+ & Column Heading 3 \\
8+\hline
9+ Cell 1.1
10+ & Cell 1.2
11+ & Cell 1.3 \\
12+\hline
13+ Cell 2.1
14+ & Cell 2.2
15+ & Cell 2.3 \\
16+\hline
17+ Cell 3.1
18+ & Cell 3.2
19+ & Cell 3.3 \\
20+\hline
21+\end{tabularx}
22+^D
23+[Table [] [AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0]
24+ [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]]
25+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]]
26+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]]
27+ [[[Plain [Str "Cell",Space,Str "1.1"]]
28+ ,[Plain [Str "Cell",Space,Str "1.2"]]
29+ ,[Plain [Str "Cell",Space,Str "1.3"]]]
30+ ,[[Plain [Str "Cell",Space,Str "2.1"]]
31+ ,[Plain [Str "Cell",Space,Str "2.2"]]
32+ ,[Plain [Str "Cell",Space,Str "2.3"]]]
33+ ,[[Plain [Str "Cell",Space,Str "3.1"]]
34+ ,[Plain [Str "Cell",Space,Str "3.2"]]
35+ ,[Plain [Str "Cell",Space,Str "3.3"]]]]]
36+```
37+
38+```
39+% pandoc -f latex -t native
40+\begin{tabularx}{\linewidth}{|X|c|p{0.25\linewidth}|}
41+\hline
42+ Column Heading 1
43+ & Column Heading 2
44+ & Column Heading 3 \\
45+\hline
46+ Cell 1.1
47+ & Cell 1.2
48+ & Cell 1.3 \\
49+\hline
50+ Cell 2.1
51+ & Cell 2.2
52+ & Cell 2.3 \\
53+\hline
54+ Cell 3.1
55+ & Cell 3.2
56+ & Cell 3.3 \\
57+\hline
58+\end{tabularx}
59+^D
60+[Table [] [AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0]
61+ [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]]
62+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]]
63+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]]
64+ [[[Plain [Str "Cell",Space,Str "1.1"]]
65+ ,[Plain [Str "Cell",Space,Str "1.2"]]
66+ ,[Plain [Str "Cell",Space,Str "1.3"]]]
67+ ,[[Plain [Str "Cell",Space,Str "2.1"]]
68+ ,[Plain [Str "Cell",Space,Str "2.2"]]
69+ ,[Plain [Str "Cell",Space,Str "2.3"]]]
70+ ,[[Plain [Str "Cell",Space,Str "3.1"]]
71+ ,[Plain [Str "Cell",Space,Str "3.2"]]
72+ ,[Plain [Str "Cell",Space,Str "3.3"]]]]]
73+```
74+
75+```
76+% pandoc -f latex -t native
77+\begin{tabularx}{\linewidth}{|b{0.25\linewidth}|c|m{0.25\linewidth}|}
78+\hline
79+ Column Heading 1
80+ & Column Heading 2
81+ & Column Heading 3 \\
82+\hline
83+ Cell 1.1
84+ & Cell 1.2
85+ & Cell 1.3 \\
86+\hline
87+ Cell 2.1
88+ & Cell 2.2
89+ & Cell 2.3 \\
90+\hline
91+ Cell 3.1
92+ & Cell 3.2
93+ & Cell 3.3 \\
94+\hline
95+\end{tabularx}
96+^D
97+[Table [] [AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0]
98+ [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]]
99+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]]
100+ ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]]
101+ [[[Plain [Str "Cell",Space,Str "1.1"]]
102+ ,[Plain [Str "Cell",Space,Str "1.2"]]
103+ ,[Plain [Str "Cell",Space,Str "1.3"]]]
104+ ,[[Plain [Str "Cell",Space,Str "2.1"]]
105+ ,[Plain [Str "Cell",Space,Str "2.2"]]
106+ ,[Plain [Str "Cell",Space,Str "2.3"]]]
107+ ,[[Plain [Str "Cell",Space,Str "3.1"]]
108+ ,[Plain [Str "Cell",Space,Str "3.2"]]
109+ ,[Plain [Str "Cell",Space,Str "3.3"]]]]]
110+```