PDF: Better error message.
This commit is contained in:
parent
ce3653e39d
commit
b4a6c02343
2 changed files with 8 additions and 5 deletions
|
@ -56,10 +56,11 @@ tex2pdf' :: FilePath -- ^ temp directory for output
|
|||
-> IO (Either ByteString ByteString)
|
||||
tex2pdf' tmpDir program source = do
|
||||
(exit, log', mbPdf) <- runTeXProgram program 3 tmpDir source
|
||||
let msg = "Error producing PDF from TeX source."
|
||||
case (exit, mbPdf) of
|
||||
(ExitFailure _, _) -> return $ Left $ extractMsg log'
|
||||
(ExitSuccess, Nothing) -> return $ Left
|
||||
"tex2pdf: ExitSuccess but no PDF created!"
|
||||
(ExitFailure _, _) -> return $ Left $
|
||||
msg <> "\n" <> extractMsg log'
|
||||
(ExitSuccess, Nothing) -> return $ Left msg
|
||||
(ExitSuccess, Just pdf) -> return $ Right pdf
|
||||
|
||||
data TeXProgram = PDFLaTeX
|
||||
|
@ -70,6 +71,9 @@ data TeXProgram = PDFLaTeX
|
|||
| PDFTeX
|
||||
deriving (Show, Read)
|
||||
|
||||
(<>) :: ByteString -> ByteString -> ByteString
|
||||
(<>) = B.append
|
||||
|
||||
-- parsing output
|
||||
|
||||
extractMsg :: ByteString -> ByteString
|
||||
|
|
|
@ -975,10 +975,9 @@ main = do
|
|||
do res <- tex2pdf PDFLaTeX $ writeLaTeX writerOptions doc2
|
||||
case res of
|
||||
Right pdf -> writeBinary pdf
|
||||
Left err' -> B.hPutStr stderr err' >> B.hPutStr stderr nl
|
||||
Left err' -> B.hPutStr stderr err'
|
||||
| otherwise -> error $ "Unknown writer: " ++ writerName'
|
||||
where writeBinary = B.writeFile (encodeString outputFile)
|
||||
nl = B.singleton 10
|
||||
Just r -> writerFn outputFile =<< postProcess result
|
||||
where writerFn "-" = UTF8.putStr
|
||||
writerFn f = UTF8.writeFile f
|
||||
|
|
Loading…
Add table
Reference in a new issue