diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-11-17 18:42:11 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-11-17 18:42:11 +0000 |
commit | 09b57fcf9ca4deab5fd7d8979863b36922edf6c3 (patch) | |
tree | f5d71e92b481163cbbf46b9dfe38dd9dfd7ffcc5 /src/Text/Pandoc/Shared.hs | |
parent | 780b77c14790f8053f7b2c8239bb4a5d6a22c8d7 (diff) | |
download | pandoc-09b57fcf9ca4deab5fd7d8979863b36922edf6c3.tar.gz |
Adjusted formatting of LaTeX and ConTeXt footnotes:
- in ConTeXt, % is not needed at end of line before note, since
space is gobbled.
- beginning of footnote indented four spaces.
- this required an additional parameter in wrappedTeX and
wrapTeXIfNeeded, in Text.Pandoc.Shared.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1080 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src/Text/Pandoc/Shared.hs')
-rw-r--r-- | src/Text/Pandoc/Shared.hs | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index 811978476..42d9acaf0 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -227,8 +227,12 @@ isNote _ = False -- | Wrap inlines to line length, treating footnotes in a way that -- makes sense in LaTeX and ConTeXt. -wrappedTeX :: Monad m => ([Inline] -> m Doc) -> [Inline] -> m Doc -wrappedTeX listWriter sect = do +wrappedTeX :: Monad m + => Bool -- | Include % on line before notes. + -> ([Inline] -> m Doc) -- | Inline list writer. + -> [Inline] + -> m Doc +wrappedTeX includePercent listWriter sect = do let (firstpart, rest) = break isNote sect firstpartWrapped <- wrapped listWriter firstpart if null rest @@ -236,17 +240,23 @@ wrappedTeX listWriter sect = do else do let (note:rest') = rest restWrapped <- if null rest' then return empty - else wrappedTeX listWriter rest' + else wrappedTeX includePercent listWriter rest' noteText <- listWriter [note] - return $ firstpartWrapped <> PP.char '%' $$ noteText $$ restWrapped + return $ firstpartWrapped <> + (if includePercent then PP.char '%' else empty) $$ + noteText $$ restWrapped -- | Wrap inlines if the text wrap option is selected, specialized -- for LaTeX and ConTeXt. -wrapTeXIfNeeded :: Monad m => WriterOptions -> ([Inline] -> m Doc) -> - [Inline] -> m Doc -wrapTeXIfNeeded opts = if writerWrapText opts - then wrappedTeX - else ($) +wrapTeXIfNeeded :: Monad m + => WriterOptions + -> Bool -- | Include % on line before notes. + -> ([Inline] -> m Doc) -- | Inline list writer. + -> [Inline] + -> m Doc +wrapTeXIfNeeded opts includePercent = if writerWrapText opts + then wrappedTeX includePercent + else ($) -- -- Parsing |