Marzec
02
2010

LaTeX i Maven2

Słowa kluczowe: , , , | Kategorie: TeX i LaTeX
No Gravatar

Serię artykułów związanych z Apache Maven zaczynam od tematu, który być może powinien pojawić się dużo później. Jednak ukończyłem właśnie pracę nad projektem, który wiąże się bezpośrednio z tym zagadnieniem i w najbliższym czasie chciałbym napisać więcej na ten temat.

Tworzenie dokumentacji z wykorzystaniem kompilatora LATEX opisywałem już we wsześniejszych artykułach w tej kategorii. Jednak podczas długiej pracy z dokumentem wykonywanie polecenia pdflatex po każdej dokonanej zmianie może być frustrujące. Dlatego postanowiłem poszukać rozwiązania, które byłoby wygodne w użyciu oraz – o ile to w ogóle możliwe – zintegrowane ze środowiskiem programistycznym.

Do kompilacji, testowania czy publikowania projektów pisanych w języku Java używa się obecnie narzędzia o nazwie Maven. Z ogromną radością odkryłem wtyczkę LaTeX Maven Plugin, pozwalającą na dołączenie dokumentacji utworzonej w LATEX do takiego projektu.

Ponieważ latex-maven-plugin znajduje się w centralnym repozytorium Apach Maven2, wystarczy w pliku pom.xml wskazać tę wtyczkę:

<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>pl.info.czerwinski</groupId>
  <artifactId>latex-sample</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <defaultGoal>latex:latex</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>latex-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>

Teraz już wystarczy tylko umieścić źródła LATEX w odpowiednim katalogu, czyli src/main/latex. Każdy dokument, który ma zostać wygenerowany musi znajdować się w osobnym podkatalogu i nosić tę samą nazwę, co ów podkatalog.

Dla przykładu utworzę plik src/main/latex/sample/sample.tex:

\documentclass{report}

\begin{document}
	Hello \LaTeX{}!
\end{document}

Tak przygotowany dokument wystarczy skompilować przy użyciu polecenia mvn latex:latex albo po prostu mvn (domyślne zadanie zostało zdefiniowane w pliku pom.xml – znacznik defaultGoal). Plik wynikowy to target/sample.pdf.

Nadmienię jeszcze, że katalog z plikami wspólnymi dla wszystkich dokumentów LATEX (domyślnie src/main/latex/common) nie jest brany pod uwagę jako osobny dokument przy kompilacji.

Napisz Komentarz

*