diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2010-01-05 08:36:08 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2010-01-05 08:36:08 +0000 |
commit | 66c4f90e09a7087c4d67ff4b0787a27821271eab (patch) | |
tree | df2aa9fac21205908306e26693bfed08ab8fe374 | |
parent | e1e9bfc004ddea81e1082362dbd212b3b75ca5ca (diff) | |
download | pandoc-66c4f90e09a7087c4d67ff4b0787a27821271eab.tar.gz |
markdown2pdf: always do at least two runs.
Reason: hyperref bookmarks require this.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1797 788f1e2b-df1e-0410-8736-df70ead52e1b
-rwxr-xr-x | markdown2pdf | 4 | ||||
-rw-r--r-- | src/markdown2pdf.hs | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/markdown2pdf b/markdown2pdf index 20950e022..9470ae8e8 100755 --- a/markdown2pdf +++ b/markdown2pdf @@ -123,8 +123,10 @@ fi fi fi fi - else + elif [ $runs -gt 1 ]; then # always run at least twice for pdf bookmarks finished=yes + else + runs=$(($runs + 1)) fi done ) || exit $? diff --git a/src/markdown2pdf.hs b/src/markdown2pdf.hs index 0333b121f..d713ae263 100644 --- a/src/markdown2pdf.hs +++ b/src/markdown2pdf.hs @@ -3,7 +3,7 @@ module Main where import Data.List (isInfixOf, intercalate, isPrefixOf) import Data.Maybe (isNothing) -import Control.Monad (unless, guard, when) +import Control.Monad (unless, guard) import Control.Exception (tryJust, bracket) import System.IO (stderr) @@ -75,6 +75,7 @@ runLatex latexProgram file = step 3 case result of Left (Left err) -> return $ Left err Left (Right _) | n > 1 -> step (n-1 :: Int) + Right _ | n > 2 -> step (n-1 :: Int) Left (Right msg) -> return $ Left msg Right pdfFile -> return $ Right pdfFile @@ -201,8 +202,6 @@ main = bracket Left err -> exit err Right texFile -> do -- run pdflatex - when ("--toc" `elem` opts || "--table-of-contents" `elem` opts) $ - runLatex latexProgram texFile >> return () -- toc requires extra run latexRes <- runLatex latexProgram texFile case latexRes of Left err -> exit err |