HTML, LaTeX writer: Don't print header row in headerless table.

Resolves Issue #210.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1856 788f1e2b-df1e-0410-8736-df70ead52e1b
This commit is contained in:
fiddlosopher 2010-03-01 02:28:03 +00:00
parent da9eb0760e
commit 66d2fe3dd2
2 changed files with 6 additions and 5 deletions

View file

@ -346,8 +346,7 @@ blockToHtml opts (Table capt aligns widths headers rows') = do
captionDoc <- if null capt
then return noHtml
else inlineListToHtml opts capt >>= return . caption
colHeads <- colHeadsToHtml opts alignStrings
widths headers
colHeads <- colHeadsToHtml opts alignStrings widths headers
rows'' <- zipWithM (tableRowToHtml opts alignStrings) (cycle ["odd", "even"]) rows'
return $ table $ captionDoc +++ colHeads +++ rows''
@ -356,6 +355,7 @@ colHeadsToHtml :: WriterOptions
-> [Double]
-> [[Block]]
-> State WriterState Html
colHeadsToHtml _ _ _ headers | all null headers = return noHtml
colHeadsToHtml opts alignStrings widths headers = do
heads <- sequence $ zipWith3
(\alignment columnwidth item -> tableItemToHtml opts th alignment columnwidth item)

View file

@ -213,13 +213,14 @@ blockToLaTeX (Header level lst) = do
(False, 3) -> text "\\subsubsection" <> stuffing <> char '\n'
_ -> txt <> char '\n'
blockToLaTeX (Table caption aligns widths heads rows) = do
headers <- tableRowToLaTeX heads
headers <- if all null heads
then return empty
else liftM ($$ text "\\hline") $ tableRowToLaTeX heads
captionText <- inlineListToLaTeX caption
rows' <- mapM tableRowToLaTeX rows
let colDescriptors = concat $ zipWith toColDescriptor widths aligns
let tableBody = text ("\\begin{tabular}{" ++ colDescriptors ++ "}") $$
headers $$ text "\\hline" $$ vcat rows' $$
text "\\end{tabular}"
headers $$ vcat rows' $$ text "\\end{tabular}"
let centered txt = text "\\begin{center}" $$ txt $$ text "\\end{center}"
modify $ \s -> s{ stTable = True }
return $ if isEmpty captionText