ShareLaTeX: ein Online-Kollaborationstool mit welchem man auch ganze Projekte als Zip-Archiv importieren kann.Im Zuge meiner Abschlussarbeit habe ich mich etwas mit LaTeX beschäftigt. LaTeX ist ein Softwarepaket um das Arbeiten mit dem Textsatzsystem TeX zu vereinfachen. Es ist gerade im akademischen Umfeld ein Muss; abhängig von der Universität müssen umfangreichere Arbeiten sogar verpflichtend mit dem System erstellt sein. Leider ist LaTeX kein einfach zu benutzendes Tool. Um ein Dokument zu erstellen muss man eine Art Quellcode schreiben, aus dem dann mit Hilfe  eines Programms ein PDF generiert wird. Eine Live-Vorschau ist nicht möglich – zumindest meines Wissens.

Schön wäre es da, wenn man ein Werkzeug hätte, mit welchem man sehr komfortabel ein LaTeX-Dokument erstellen könnte – am besten online. Und tatsächlich eine kurze Google-Suche brachte das gewünschte Ergebnis: ShareLaTeX.com ist ein Online-Kollaborationstool mit dem man nicht nur sehr komfortabel an LaTeX-Dokumenten arbeiten kann, sondern sogar mit anderen zusammen. Nach einer schmerzlosen Anmeldung kann man direkt loslegen.

und alles OpenSource

Wer im Zeitalter der Komplettüberwachung von NSA & Co. keinem Online-Dienst mehr traut, hat sogar die Möglichkeit seinen eigenen Server zu benutzen, denn alles ist OpenSource. Ich habe mir aus Interesse das System mal aufgesetzt und will euch hier die einzelnen Schritte zeigen. Ich selbst nutze Ubuntu, allerdings sollten die Befehle bei anderen Distributionen analog funktionieren (beispielsweise bei Fedora: yum install …).

Als Grundlage braucht man Node.js und den dazugehörigen Paketmanager npm. Außerdem braucht man git, sofern man die Quellen direkt aus dem zugehörigen GitHub-Repository ziehen will:

$ sudo apt-get install git nodejs npm -y

Als nächstes habe ich das Git-Repository geklont. Ich habe für solche Sachen ein eigenes Projekt-Verzeichnis:

$ cd Projekte
$ git clone https://github.com/sharelatex/sharelatex.git
$ cd sharelatex

Als nächstes werden einige Module und Dienste installiert. Die genaue Liste gibts auf der GitHub-Seite. Gebraucht wird jetzt noch ein Modul namens „grunt“, welches über den Node-Packet-Manager installiert werden kann:

$ sudo npm install -g grunt-cli
$ npm install
$ grunt install

Beim letzten Befehl könnte es passieren, dass einige Warnungen kommen, denn ShareLaTeX hat einige Abhängigkeiten, die nicht auf jedem System standardmäßig installiert sind. Dazu gehören die In-Memory-Datenbank Redis und das Datenbanksystem MongoDB. Außerdem – wer hätte das gedacht – braucht man natürlich TeXLive, zum generieren der PDFs. Wichtig ist, dass das Programm latexmk mit installiert wird.

$ sudo apt-get install redis-server mongodb texlive latexmk -y

Jetzt prüfen wir noch kurz, ob alles korrekt installiert ist, oder ob noch irgendeine Abhängigkeit fehlt:

$ grunt check --force

Sollte noch eine Warnung oder gar ein Fehler ausgegeben werden, einfach die entsprechende Abhängigkeit noch auflösen oder das Problem hier in den Kommentaren schildern. Ansonsten können wir  direkt starten:

$ grunt run

Standardmäßig läuft ShareLaTeX jetzt auf dem lokalen Host unter dem Port 3000. Wer das ändern will, kann das in der Datei config/settings.development.coffee tun. Dort sind auch viele andere Einstellungen möglich.

Bei mir gab es noch einen kleinen Fehler, der auch schon bei anderen Nutzern aufgetreten ist. Gelöst werden konnte das Problem, indem ein Node-Modul gelöscht wurde:

$ rm -rf web/node_modules/bcrypt/
$ grunt install
$ grunt run

Und voilà: es funktioniert.

Nächster Beitrag Vorheriger Beitrag