Re: [PATCH 2/2] runlatex.sh: Fix while loop condition

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

 



On Fri, Apr 22, 2016 at 07:05:12AM +0900, Akira Yokosawa wrote:
> Hi Paul,
> 
> On 2016/04/22 1:27, Paul E. McKenney wrote:
> > On Thu, Apr 21, 2016 at 11:32:24PM +0900, Akira Yokosawa wrote:
> >> >From a5cb77713f4720592f75db71394fcad784ca480e Mon Sep 17 00:00:00 2001
> >> From: Akira Yokosawa <akiysw@xxxxxxxxx>
> >> Date: Thu, 21 Apr 2016 22:11:06 +0900
> >> Subject: [PATCH 2/2] runlatex.sh: Fix while loop condition
> >>
> >> After commit 33b93f8258f5 ("qqz: Cross-link questions and answers"),
> >> 'make' becomes to terminate prematurely with warning messages such as
> >>
> >>>   Latex Warning: There were undefined references
> >>>   Latex Warning: There were multiply-defined labels.
> >>
> >> This can be dealt with loosening loop condition in runlatex.sh
> >> which is given to 'grep' command.
> >> Also, This commit increases the iteration max count to accommodate
> >> the required number of 'pdflatex' invocations caused by qqz cross-link.
> >>
> >> Signed-off-by: Akira Yokosawa <akiysw@xxxxxxxxx>
> > 
> > I pulled this into a test branch, and it seemed to work for me, thank you!
> > I am running on Ubuntu, any experience on other platforms?
> > 
> > Please see below for a couple of questions.
> > 
> > 							Thanx, Paul
> > 
> >> ---
> >>  utilities/runlatex.sh | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
> >> index 8d2d77a..15d96c1 100644
> >> --- a/utilities/runlatex.sh
> >> +++ b/utilities/runlatex.sh
> >> @@ -47,7 +47,7 @@ then
> >>  		echo "No bibliography directory, skipping bibtex."
> >>  	fi
> >>  fi
> >> -while grep -q 'LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.' $basename.log
> >> +while grep -q 'LaTeX Warning:' $basename.log
> >>  do
> >>  	iter=`expr $iter + 1`
> >>  	echo "pdflatex $iter"
> > 
> > Given the loosening above, should we put a "grep LaTeX Warning:" here,
> > so that users could interrupt the build if they felt that rerunning
> > latex wasn't going to help?
> 
> So, I loosened the condition too much. I tried another idea and it also seems to work.
> See below for the patch. (Note that it is the output of
> git diff 514f21cd4156c68e17 utilities/runlatex.sh )
> I have not enough time to do git commit & git format patch right now...
> 
> >> @@ -56,7 +56,7 @@ do
> >>  	then
> >>  		echo "----- Fatal latex error, see $basename.log for details. -----"
> > 
> > Also given the loosening above, should there be an "exit 1" here?
> 
> Yes, I think so. (This is added in the following patch)
> > 
> >>  	fi
> >> -	if test "$iter" -eq 4
> >> +	if test "$iter" -eq 5
> >>  	then
> >>  		echo "Iteration limit: $iter passes through pdflatex"
> >>  		exit 1
> >> -- 
> >> 1.9.1
> >>
> > 
> > 
> 
> Can you try this one?
> Thanks, Akira

I did, though for some reason I had to hand-apply it on my test branch.
Not sure what "git apply" didn't like.

It does repeat upon undefined, which is good.  Nicer behavior after
bibliography changes!

There is another "Fatal latex error" earlier that I missed, and it would
be good to have an "exit 1" on that one as well.

The one thing I am still concerned about is a real undefined reference,
which would consume a full five iterations.  Not really sure what would
be improved behavior, though.  Thoughts?

							Thanx, Paul

> ---
> diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
> index 8d2d77a..eba7e16 100644
> --- a/utilities/runlatex.sh
> +++ b/utilities/runlatex.sh
> @@ -47,7 +47,8 @@ then
>                 echo "No bibliography directory, skipping bibtex."
>         fi
>  fi
> -while grep -q 'LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.' $basename.log
> +while grep -q 'LaTeX Warning: There were undefined references' $basename.log || \
> +    grep -q 'LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.' $basename.log
>  do
>         iter=`expr $iter + 1`
>         echo "pdflatex $iter"
> @@ -55,8 +56,9 @@ do
>         if grep -q '! Emergency stop.' $basename.log
>         then
>                 echo "----- Fatal latex error, see $basename.log for details. -----"
> +               exit 1
>         fi
> -       if test "$iter" -eq 4
> +       if test "$iter" -eq 5
>         then
>                 echo "Iteration limit: $iter passes through pdflatex"
>                 exit 1
> --
> To unsubscribe from this list: send the line "unsubscribe perfbook" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux