Generating PDF files with RTeX

I love LaTeX and I love ruby/rails. I want to use rtex, it seems perfect for me. But, I am having trouble and am looking for help — once i get this working i’ll make a blog post for the world.

First, do i have what it takes?


tim@polycarp:~/test_rails$ which pdflatex
/usr/bin/pdflatex
tim@polycarp:~/test_rails$ which latex
/usr/bin/latex
tim@polycarp:~/test_rails$ which rtex
/usr/bin/rtex
tim@polycarp:~/test_rails$ which pdflatex
/usr/bin/pdflatex
tim@polycarp:~/test_rails$ rails -v
Rails 2.2.2
tim@polycarp:~/test_rails$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
tim@polycarp:~/test_rails$ more /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"

Now I need a rails app to test this with:


rails test_rails/
cd test_rails/
./script/generate controller make_pdf

i was getting a sqlite3 error and I had to


sudo gem install sqlite3-ruby

Now I needed a model to work with, so using the scaffold generator:


./script/generate scaffold Item name:string purpose:string next_step:text
rake db:migrate

in emacs, i created, app/views/layouts/application.pdf.rtex


documentclass[12pt]{article}
 begin{document}

 end{document}

i also created: show_pdf.pdf.rtex in app/views/make_pdf


  section*{Items}
  begin{itemize}
     @items {aaa01f1184b23bc5204459599a780c2efd1a71f819cd2b338cab4b7a2f8e97d4}>
  end{itemize}

now i create the controller:


class MakePdfController < ApplicationController

def index
end

def show_pdf
    @items = Item.find(:all)
end

end

but from ./script/server and went to http://localhost:3000/make_pdf/show_pdf.pdf


Routing Error

No route matches "/make_pdf/show_pdf.pdf" with {:method=>:get}

I thought i might need to initialize the gem as a plugin


test_rails$ rtex -i .
Installed at ./vendor/plugins/rtex

but i still get the same error after restarting mongrel

after adding config.gem "rtex" to my environment.rb and getting a nasty stack error (caused because i enabled a gem and a plugin). i realized that i can't use both together and commented out the config.gem "rtex".

in discussions with August Lilleaas on IRC, it became clear that I needed to add:

map.connect ":controller/:action.:format"

to my routes.rb.

Now, this is very close to working -- when i load: http://localhost:3000/make_pdf/show_pdf.pdf in firefox, I can open or save. If I save, all I get is simple text:


documentclass[12pt]{article}
 begin{document}
      section*{Items}
  begin{itemize}

  end{itemize}

 end{document}

if I try to open (in ubuntu using document viewer) I get:


File type TeX document (text/x-tex) is not supported

As an interesting aside, I wanted to test that rtex was actually working.

Creating a textile file test.textile with some basic textile.


rtex -o output.pdf -f textile test.textile

generates output.pdf, which is a true pdf formatted file.

After some excellent help from Bruce Williams, I was able to get it working just fine -- just download the new gem (rtex 2.1.0, and you should be fine)


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *