2009-10-08 11 views
7

Zespół, w którym pracuję, zarządza obszernym zbiorem dokumentacji technicznej napisanym w LaTeX.Jak mogę skompilować dokumenty PDF LaTeX za pomocą ANT (lub innego systemu kompilacji, jeśli wolisz)?

Obecnie cała nasza dokumentacja jest ręcznie tworzona przez redaktorów, a następnie sprawdzana w systemie kontroli wersji. Czasami ludzie zapominają skompilować swoje dokumenty, więc mamy sytuację, w której pliki PDF i .tex często są nie na miejscu. Niestety, gdy tak się dzieje, nasi użytkownicy czytają stare wersje naszego dokumentu.

Udało mi się zhackować prosty skrypt do budowania plików PDF za pomocą Make - jest raczej niezgrabny.

Zastanawiam się, czy istnieje lepszy sposób na zrobienie tego? Większość ludzi w naszym dziale używa Eclipse + Pydev do projektu Python, co oznacza, że ​​wszyscy dobrze znamy to IDE. Wiem, że Ant gra ładnie z Eclipse, więc czy moglibyśmy użyć tego narzędzia do budowy naszego doc?

Jaki jest najlepszy sposób na zrobienie tego? Mam nadzieję, że nie będę musiał uczyć się wszystkiego, co trzeba wiedzieć o nowym systemie kompilacji, aby zautomatyzować budowanie całkiem prostych dokumentów.

+0

Dlaczego sprawdzasz rzeczy, które są automatycznie generowane w repozytorium? To wydaje się niezwykłą praktyką. – Ketil

+0

Nie zaznaczamy niczego, co jest generowane automatycznie. Dokumentacja jest w większości ręcznie napisana. –

Odpowiedz

7

Istnieje zewnętrzna Ant task do generowania plików LaTeX PDF, ale strona jest w języku niemieckim.

Aby z niego skorzystać, należy pobrać jar do lokalizacji na komputerze, a następnie zdefiniować taskdef następująco:

<taskdef name="latex" classname="de.dokutransdata.antlatex.LaTeX" 
    classpath="/path/to/ant/lib/ant_latex.jar"/> 

Potem go używać, określić cel tak:

<target name="doLaTeX"> 
    <latex 
    latexfile="${ltx2.file}" 
    verbose="on" 
    clean="on" 
    pdftex="off" 
    workingDir="${basedir}" 
    /> 
</target> 

Gdzie plik ltx2.file jest plikiem do przetworzenia. To jest łącze do howto page z listą parametrów. Jeśli potrzebujesz więcej opcji, mój niemiecki jest na tyle wyczerpujący, by to wyjaśnić.

Istnieje również maven plugin for LaTeX, ale nie mogę znaleźć żadnej dokumentacji.

+0

Widziałem ten link, niestety mówię tylko po angielsku. –

+0

Mój niemiecki też nie jest wspaniały, ale znalazłem link do strony z opisem i zamieszczono jeden z przykładów. Parametry są co najmniej w języku angielskim, więc możesz być ok ... –

1

Jeśli wiesz, python, this blog post might be interesting

EDIT: Również chciałbym założyć, że używasz jakiegoś systemu kontroli wersji, i nie mogę powiedzieć na pewno, ale używam git zarządzania wszystkie moje lateksowe dokumenty i może być możliwe użycie jakiegoś haka po zatwierdzeniu, aby wykonać skrypt w celu odbudowania dokumentu. To zależy od tego, jak zbudowane jest twoje repozytorium ... po prostu głośno myśląc.

1

Bardzo szczegółowo opisałem wiele systemów do budowy lateksu w this question, ale w twoim przypadku jest to trochę inaczej. Myślę, że chcesz gumę lub lateks. Makefile lateksowe wydaje się dobrym pomysłem, ale wspiera tylko budowanie poprzez postscript, który może nie być twoim procesem kompilacji.

Generalnie dobrym pomysłem jest przechowywanie wygenerowanych plików poza kontrolą wersji tylko z tego powodu. Dobrym wyjątkiem jest sytuacja, gdy specjalistyczne narzędzia do budowania nie są powszechnie dostępne, a twoja sytuacja brzmi podobnie. Możesz zrobić lepiej z zatwierdzeniem commit, aby budować automatycznie po zatwierdzeniu.

Chyba powinienem również zaznaczyć, że popełnienie czegoś bez uprzedniego zbudowania go i sprawdzenia jest śmiertelnym grzechem, więc lepszym rozwiązaniem może być ukrócenie tego.

0

Maven jest lepszą alternatywą niż system kompilacji w porównaniu do Ant. Polecam więc wtyczkę maven do generowania plików PDF ze źródeł LaTeX. Spójrz na: mathan-latex-maven-plugin

Powiązane problemy