diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2016-03-18 16:16:18 -0700 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2016-03-18 16:16:18 -0700 | 
| commit | e821b05125c8b18a1c09a5d4fd62ee7483704bbb (patch) | |
| tree | 5d9e70422ece59eab562ba9a9418f29aa59946fc /src/Text | |
| parent | 8d1c01809e0f45b54584bcd2a93b66a5e44968c1 (diff) | |
| download | pandoc-e821b05125c8b18a1c09a5d4fd62ee7483704bbb.tar.gz | |
LaTeX writer: Avoid double toprule in headerless table with caption.
Closes #2742.
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 4e4279ec5..52f525fe7 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -571,18 +571,21 @@ blockToLaTeX (Header level (id',classes,_) lst) = do  blockToLaTeX (Table caption aligns widths heads rows) = do    headers <- if all null heads                  then return empty -                else ($$ "\\midrule\n") `fmap` -                      (tableRowToLaTeX True aligns widths) heads +                else do +                    contents <- (tableRowToLaTeX True aligns widths) heads +                    return ("\\toprule" $$ contents $$ "\\midrule")    let endhead = if all null heads                     then empty                     else text "\\endhead" +  let endfirsthead = if all null heads +                       then empty +                       else text "\\endfirsthead"    captionText <- inlineListToLaTeX caption    let capt = if isEmpty captionText                  then empty -                else text "\\caption" <> braces captionText -                         <> "\\tabularnewline\n\\toprule\n" -                         <> headers -                         <> "\\endfirsthead" +                else text "\\caption" <> braces captionText <> "\\tabularnewline" +                         $$ headers +                         $$ endfirsthead    rows' <- mapM (tableRowToLaTeX False aligns widths) rows    let colDescriptors = text $ concat $ map toColDescriptor aligns    modify $ \s -> s{ stTable = True } @@ -590,7 +593,7 @@ blockToLaTeX (Table caption aligns widths heads rows) = do                braces ("@{}" <> colDescriptors <> "@{}")                -- the @{} removes extra space at beginning and end           $$ capt -         $$ "\\toprule" +         $$ (if all null heads then "\\toprule" else empty)           $$ headers           $$ endhead           $$ vcat rows'  | 
