@@ -142,6 +142,13 @@ engines = map ("html",) htmlEngines ++
142142pdfEngines :: [String]
143143pdfEngines = ordNub $ map snd engines
144144
145+pdfIsNoWriterErrorMsg :: String
146+pdfIsNoWriterErrorMsg =
147+ "To create a pdf using pandoc, use " ++
148+ "-t latex|beamer|context|ms|html5" ++
149+ "\nand specify an output file with " ++
150+ ".pdf extension (-o filename.pdf)."
151+
145152pdfWriterAndProg :: Maybe String -- ^ user-specified writer name
146153 -> Maybe String -- ^ user-specified pdf-engine
147154 -> IO (String, Maybe String) -- ^ IO (writerName, maybePdfEngineProg)
@@ -165,6 +172,7 @@ pdfWriterAndProg mWriter mEngine = do
165172 [] -> Left $
166173 "pdf-engine " ++ eng ++ " not known"
167174
175+ engineForWriter "pdf" = Left pdfIsNoWriterErrorMsg
168176 engineForWriter w = case [e | (f,e) <- engines, f == baseWriterName w] of
169177 eng : _ -> Right eng
170178 [] -> Left $
@@ -233,11 +241,7 @@ convertWithOpts opts = do
233241 else case getWriter (map toLower writerName) of
234242 Left e -> E.throwIO $ PandocAppError $
235243 if format == "pdf"
236− then e ++
237− "\nTo create a pdf using pandoc, use " ++
238− "-t latex|beamer|context|ms|html5" ++
239− "\nand specify an output file with " ++
240− ".pdf extension (-o filename.pdf)."
244+ then e ++ "\n" ++ pdfIsNoWriterErrorMsg
241245 else e
242246 Right (w, es) -> return (w :: Writer PandocIO, es)
243247