summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmarkdown2pdf4
-rw-r--r--src/markdown2pdf.hs5
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