diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-11-01 17:32:59 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-11-01 17:32:59 +0000 |
commit | 40fa01765bbd41145372e4e6f01f375353f683d0 (patch) | |
tree | f0f71f2533d8728b2a8bdc8ca35414115e962672 /src/Text/Pandoc | |
parent | d5adbcb7746331d57c914d507286d50f86db0365 (diff) | |
download | pandoc-40fa01765bbd41145372e4e6f01f375353f683d0.tar.gz |
Cleaned up LaTeX footnotes:
+ Footnotes start on a separate line. A comment % is used
at the end of the previous line to prevent unwanted spaces.
This makes footnotes easier to see, delete, and move around.
+ The final } now only appears on a separate line if it needs to
(i.e. if the note ends with a Verbatim environment).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1061 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index 03d6fc055..f64e06e24 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -31,7 +31,7 @@ module Text.Pandoc.Writers.LaTeX ( writeLaTeX ) where import Text.Pandoc.Definition import Text.Pandoc.Shared import Text.Printf ( printf ) -import Data.List ( (\\), isInfixOf, intersperse ) +import Data.List ( (\\), isInfixOf, isSuffixOf, intersperse ) import Data.Char ( toLower ) import qualified Data.Set as S import Control.Monad.State @@ -303,7 +303,8 @@ inlineToLaTeX (Note contents) = do put (st {stInNote = True}) contents' <- blockListToLaTeX contents modify (\st -> st {stInNote = False}) - return $ text "\\footnote{" $$ - (nest 11 $ text (stripTrailingNewlines $ render contents') <> text "\n}") - -- note: the \n before } is important; removing it causes problems - -- if a Verbatim environment occurs at the end of the footnote. + let rawnote = stripTrailingNewlines $ render contents' + -- note: a \n before } is needed when note ends with a Verbatim environment + let optNewline = "\\end{Verbatim}" `isSuffixOf` rawnote + return $ text "%\n\\footnote{" <> + text rawnote <> (if optNewline then char '\n' else empty) <> char '}' |