Forum: Ruby Rake task for building latex?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
C40020a47c6b625af6422b5b1302abaf?d=identicon&s=25 Stefano Crocco (crocco)
on 2008-11-03 10:43
(Received via mailing list)
Does anyone know whether there's a rake task to build latex files,
including
taking care of whether latex should be run one or more times? I searched
google, this mailing list, rubyforge and RAA, but found nothing. If
nobody has
already written one, I can do it myself, but I wanted to be sure before
attempting it.

Thanks in andvance

Stefano
3cb4fdcf13aad6a7dcae83876b0e784e?d=identicon&s=25 Josef 'Jupp' Schugt (Guest)
on 2008-11-03 11:49
(Received via mailing list)
On Mon, 03 Nov 2008 10:41:25 +0100, Stefano Crocco
<stefano.crocco@alice.it> wrote:

> Does anyone know whether there's a rake task to build latex files,
> including taking care of whether latex should be run one or more times?
> I searched google, this mailing list, rubyforge and RAA, but found
> nothing.

As far as I know there is no such rake task. Almost all people using
LaTeX
use an environment that takes care of this (AucTeX for example), launch
the programs manually or use Makefiles for it

> If  nobody has already written one, I can do it myself, but I wanted to
> be sure before attempting it.

Let me suggest that you do not write such a task from scratch but
starting
with a proven Makefile. While the implementation of the tasks is simple,
the dependencies that need to be taken into account are not. Two
Makefiles
you may wish to look at:

http://www.acoustics.hut.fi/u/mairas/UltimateLatexMakefile/
http://code.google.com/p/latex-makefile/

And please consider taking a look at AucTeX. In my humble opinion it is
the best available environment to write LaTeX and it is available for
every operating system that has GNU Emacs or XEmacs and a LaTeX
implementation (i.e. on virtually every operating system currently in
use).

http://www.gnu.org/software/auctex/

Even though I use vim most of the time I prefer writing LaTeX with Emacs
and AucTeX.

Josef 'Jupp' Schugt
C40020a47c6b625af6422b5b1302abaf?d=identicon&s=25 Stefano Crocco (crocco)
on 2008-11-03 14:05
(Received via mailing list)
Alle Monday 03 November 2008, Josef 'Jupp' Schugt ha scritto:
> the programs manually or use Makefiles for it
> http://code.google.com/p/latex-makefile/
>
> Josef 'Jupp' Schugt

Thanks for the answer and for the pointers to the two makefiles. I
looked at
them and I must admit that they look much more complex than I'd have
expected.

I know about AucTeX and other tools like it (I've used them in the
past), but
for what I'm doing now, they're useless. I got the idea of writing the
documentation for the ruby program I'm developing using literate
programming
and rubyweb (http://www.eng.dmu.ac.uk/~hgs/ruby/rubyweb) and to use
latex to
format the output of rubyweb. This has two consequences:
1) AucTeX and similar tools expect to have to deal with latex-only files
and
would be utterly confused by a mix of ruby and latex. I could indeed use
them
on the files produced by rubyweb, which are pure latex, but that
couldn't be
easily automated
2) Not only I, but also the users of my program should be able to build
the
documentation, without the need of installing extra tools.

Thanks again

Stefano
F6a834b9e424a1e5b199db450462b6cd?d=identicon&s=25 Ron Fox (Guest)
on 2008-11-03 14:21
(Received via mailing list)
Stefano Crocco wrote:
> Does anyone know whether there's a rake task to build latex files, including
> taking care of whether latex should be run one or more times? I searched
> google, this mailing list, rubyforge and RAA, but found nothing. If nobody has
> already written one, I can do it myself, but I wanted to be sure before
> attempting it.
>
> Thanks in andvance
>
> Stefano
>
Can't be that hard run latex about 3 times, once for the intial run.
Once for references to get done right, once for any index to be
created. Then run the  dvi converter you want for the output format
you want.

RF.
3cb4fdcf13aad6a7dcae83876b0e784e?d=identicon&s=25 Josef 'Jupp' Schugt (Guest)
on 2008-11-03 18:23
(Received via mailing list)
On Mon, 03 Nov 2008 14:18:39 +0100, Ron Fox <fox@nscl.msu.edu> wrote:

> Can't be that hard run latex about 3 times, once for the intial run.
> Once for references to get done right, once for any index to be created.
> Then run the  dvi converter you want for the output format you want.

Even though it is possible, as far as the portable document format is
concerned you do not want to first create DVIs and convert them to PDFs.
That results in documents inferior to direct PDF generation. And
depending
on the document LaTeX runs take quite some time so it perhaps is no
great
idea to run LaTeX three times just to be safe. Only doing what is
actually
is necessary is the central concept of Makefiles and Co.

Josef 'Jupp' Schugt
A8486651a974d7d9ecc35d25de96c7ee?d=identicon&s=25 Chris Lowis (chrislo)
on 2008-11-03 23:17
> Can't be that hard run latex about 3 times, once for the intial run.
> Once for references to get done right, once for any index to be
> created. Then run the  dvi converter you want for the output format
> you want.


I remember looking at the source for Auctex when I decided to write a
rake file to automate LaTeX compilation for my thesis. I seem to
remember it parses the log output of LaTeX looking for "undefined
reference" type warnings and uses that as the trigger to either run
Bibtex or Latex again to resolve cross-references.

I never bothered writing this step in my rake tasks as the compilation
step was always quick enough, but it shouldn't be too hard to use that
approach.


Chris
F6a834b9e424a1e5b199db450462b6cd?d=identicon&s=25 Ron Fox (Guest)
on 2008-11-04 13:55
(Received via mailing list)
Then you'd better get into parsing latex log files... as there's no
way to know a-priori how many times you're going to need to run latex
based on file modification dates. Sorry.. that's LaTeX.  The only hint
you have is messages about undefined references.

The initial poster did not specify pdf output.  Naturally if that's
what he wants pdflatex is the beast to run.

RF.
621080472679266b8e9b81aff4800398?d=identicon&s=25 Saji N Hameed (Guest)
on 2008-11-04 14:05
(Received via mailing list)
FYI, it may be relevant to check out ConText (wiki.contextgarden.net),
another TeX macro package, where ruby is heavily used
(and of late lua) to assist better interaction with user.

* Ron Fox <fox@nscl.msu.edu> [2008-11-04 21:53:34 +0900]:

> Josef 'Jupp' Schugt wrote:
>> depending  on the document LaTeX runs take quite some time so it
> Michigan State University
> East Lansing, MI 48824-1321
>
>

--
Saji N. Hameed

APEC Climate Center                  +82 51 668 7470
National Pension Corporation Busan Building 12F
Yeonsan 2-dong, Yeonje-gu, BUSAN 611705      saji@apcc21.net
KOREA
C40020a47c6b625af6422b5b1302abaf?d=identicon&s=25 Stefano Crocco (crocco)
on 2008-11-06 22:02
(Received via mailing list)
Attachment: latex_task.rb (20 KB)
Alle Monday 03 November 2008, Stefano Crocco ha scritto:
> Does anyone know whether there's a rake task to build latex files,
> including taking care of whether latex should be run one or more times? I
> searched google, this mailing list, rubyforge and RAA, but found nothing.
> If nobody has already written one, I can do it myself, but I wanted to be
> sure before attempting it.
>
> Thanks in andvance
>
> Stefano

Here's my attempt at producing a latex task for rake. It's not very
sofisticated and quite untested, but it should work for my needs. If
anyone is
interested on what it does and does not or how it works, he can run rdoc
on it
(using the -a option, since some private methods can be *very*
important,
too). I hope the documentation is clear enough (I'm not very good at
writing
it).

Please, let me know what you think of it.

Stefano
C40020a47c6b625af6422b5b1302abaf?d=identicon&s=25 Stefano Crocco (crocco)
on 2008-11-07 08:31
(Received via mailing list)
Attachment: latex_task.rb (20 KB)
Alle Thursday 06 November 2008, Stefano Crocco ha scritto:

A couple of last-minute changes broke the whole thing. Here's a working
version.

Stefano
This topic is locked and can not be replied to.