emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] Add catch-up all LaTeX errors


From: Francesco Pizzolante
Subject: Re: [O] [PATCH] Add catch-up all LaTeX errors
Date: Wed, 26 Mar 2014 15:36:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (windows-nt)

Hi,

May I bump up this thread?

Thanks for your help.

Regards,
 Francesco

"Francesco Pizzolante" wrote:
> Hi,
>
> This is not a definitive patch. It's just a first step in getting a better 
> one.
>
> The issue is the fact that, when exporting to PDF, in some cases, Org tells
> that the export has been done successfully while the PDF file has not been
> produced!
>
> As an example, if you open the target PDF file with Adobe Reader and, in the
> meantime, you export your Org file again to PDF, you'll see that Org will tell
> you it's OK (Process Completed) while, if you look at the *Org PDF LaTeX
> Output* buffer, you'll see an error such as:
>
> ! I can't write on file `toto.pdf'.
> [...]
>
> The problem comes from the fact that Org just checks for a couple of error
> messages (defined in org-latex-known-errors) and report it's OK if it doesn't
> find those messages:
>
> (defcustom org-latex-known-errors
>   '(("Reference.*?undefined" .  "[undefined reference]")
>     ("Citation.*?undefined" .  "[undefined citation]")
>     ("Undefined control sequence" .  "[undefined control sequence]")
>     ("^! LaTeX.*?Error" .  "[LaTeX error]")
>     ("^! Package.*?Error" .  "[package error]")
>     ("Runaway argument" .  "Runaway argument"))
> [...]
>
> In order to be sure to check for ALL errors, we should check for any line
> beginning with '!' (http://en.wikibooks.org/wiki/LaTeX/Errors_and_Warnings).
> That's the idea of this patch.
>
> Though, the issue with this patch is that some error can match 2 messages, and
> you get the following display:
>
> Process completed with errors: [LaTeX error] [Unknown error]
>
> To this issue, I see 2 solutions:
>
> 1. Either catch all errors with a single regexp (and remove all other 
> regexps):
>
> (defcustom org-latex-known-errors
>   '(("^!.*" .  "LaTeX error"))
> [...]
>
> 2. Stop on the first error found and report it.
>
> In all cases, it would be much better to be able to report the error line such
> as:
>
> Process completed with errors: [! I can't write on file `toto.pdf'.]
>
> Can someone do this or help me to achieve it?
>
> Best regards,
>  Francesco
>
> ---
>  lisp/ox-latex.el |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
> index 9262ded..2cffe38 100644
> --- a/lisp/ox-latex.el
> +++ b/lisp/ox-latex.el
> @@ -862,7 +862,8 @@ logfiles to remove, set `org-latex-logfiles-extensions'."
>      ("Undefined control sequence" .  "[undefined control sequence]")
>      ("^! LaTeX.*?Error" .  "[LaTeX error]")
>      ("^! Package.*?Error" .  "[package error]")
> -    ("Runaway argument" .  "Runaway argument"))
> +    ("Runaway argument" .  "Runaway argument")
> +    ("^!.*" . "[Unknown error]"))
>    "Alist of regular expressions and associated messages for the user.
>  The regular expressions are used to find possible errors in the
>  log of a latex-run."
> --
> 1.7.9
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]