Ich verwende Windows 7 und eine aktuelle (Dezember 2014) Distribution von TeX Live und eine aktuelle Version von TeXmaker.
Beim Aufruf arara myFile.tex
in der Kommandozeile gibt es „Einzug ERFOLGREICH“ zurück und beim Öffnen myFile.tex
wird es tatsächlich verschönert/richtig eingerückt.
Beim Einrichten eines Makros in TeXmaker (über Benutzer->Befehle->Benutzerdefiniert "arara %.tex") gibt TeXmaker jedoch Folgendes zurück:
Prozess gestartet
Der Prozess wurde normal beendet
Allerdings wird der Code dadurch nicht verschönert. Auch das Schließen und erneute Öffnen der Datei hilft nicht.
Haben Sie eine Idee, wie das funktionieren könnte?
PS: Ein minimal funktionierendes Beispiel (das über die Befehlszeile funktioniert, aber nicht über TeXmaker) ist:
% arara: indent
% arara: indent: {overwrite: yes}
\documentclass[10pt]{article}
\begin{document}
\begin{enumerate}
\item a
\item b
\end{enumerate}
\end{document}
PPS indent.log-Dateiausgabe (beim Aufruf über TeXmaker)
Do Dez 11 15:41:00 2014
latexindent.pl Version 2.0R, ein Skript zum Einrücken von .tex-Dateien
latexindent.pl befindet sich hier: C:/texlive/2014/bin/win32/
>
Verzeichnis für Sicherungsdateien und indent.log: .
Datei: tikpkzTEST.tex. Lesen von defaultSettings.yaml aus C:/texlive/2014/bin/win32/defaultSettings.yaml
Das Home-Verzeichnis ist C:/Benutzer/Björn. Um Benutzereinstellungen festzulegen, würden Sie indentconfig.yaml hier einfügen: C:/Benutzer/Björn/indentconfig.yaml
Backup-Prozedur: (...verschiedene Backups...) Datei überschreiben: tikpkzTEST.tex
Zeilenanzahl von tikpkzTEST.tex: 10 Zeilenanzahl von eingerücktem tikpkzTEST.tex: 10
Zeilenanzahl der Originaldatei und eingerückte Datei stimmen überein
PPPS arara.log-Datei
11. Dez. 2014 18:50:09.524 INFO Arara – Willkommen bei Arara!
11. Dez. 2014 18:50:09.524 INFO Arara – Datei „tikpkzTEST.tex“ wird verarbeitet, bitte warten.
11 Dez 2014 18:50:09.524 INFO DirectiveExtractor - Lesen von Direktiven aus
tikpkzTEST.tex.
11. Dez. 2014 18:50:09.524 TRACE DirectiveExtractor – Direktive in Zeile 1 mit Einzug gefunden.
11. Dezember 2014 18:50:09.524 TRACE DirectiveExtractor – Direktive in Zeile 2 mit Einzug gefunden: {overwrite: yes}.
11. Dez. 2014 18:50:09.584 INFO DirectiveParser – Anweisungen analysieren.
11. Dez. 2014 18:50:09.584 INFO TaskDeployer – Aufgaben in Befehle bereitstellen.
11. Dez. 2014 18:50:09.584 TRACE TaskDeployer – Task „indent“ gefunden in > „C:\texlive\2014\texmf-dist\scripts\arara\rules“.
11. Dezember 2014 18:50:09.728 TRACE TaskDeployer – Task „indent“ gefunden in „C:\texlive\2014\texmf-dist\scripts\arara\rules“.
11. Dez. 2014 18:50:09.738 INFO CommandTrigger – Bereit zum Ausführen von Befehlen.
11. Dez. 2014 18:50:09.738 INFO CommandTrigger – „Einrücken“ wird ausgeführt.
11. Dezember 2014 18:50:09.738 TRACE CommandTrigger – Befehl: cmd /c latexindent.exe „tikpkzTEST.tex“
11. Dez. 2014 18:50:10.048 TRACE CommandTrigger - Ausgabeprotokollierung:
11. Dezember 2014 18:50:10.048 TRACE CommandTrigger - % arara: Einzug
% arara: Einzug: {Überschreiben: ja}
\documentclass[10pt]{article} \begin{document} \begin{enumerate} \item a \item b \item c \end{enumerate} \end{document} 11. Dezember 2014 18:50:10.048 INFO CommandTrigger - „Einrücken“ wurde erfolgreich ausgeführt. 11. Dezember 2014 18:50:10.048 INFO CommandTrigger - „Einrücken“ wird ausgeführt. 11. Dez. 2014 18:50:10.048 TRACE CommandTrigger – Befehl: cmd /c latexindent.exe –w > „tikpkzTEST.tex“ 11. Dez. 2014 18:50:10.348 TRACE CommandTrigger – Ausgabeprotokollierung: 11. Dez. 2014 18:50:10.348 TRACE CommandTrigger – % arara: Einzug % arara: Einzug: {überschreiben: ja}
\documentclass[10pt]{Artikel}
\begin{document}
\begin{enumerate}
\Element a
\item b
\item c
\end{enumerate}
\end{document}
11. Dez. 2014 18:50:10.348 INFO CommandTrigger – „Einrücken“ wurde erfolgreich ausgeführt.
11. Dez. 2014 18:50:10.348 INFO CommandTrigger – Alle Befehle wurden erfolgreich ausgeführt.
11. Dez. 2014 18:50:10.348 INFO Arara – Erledigt.
Antwort1
@texenthusiast hat einen Workaround für das Problem gefunden:
Klicken Sie im Dateimenü von TeXmaker auf „Dokument aus Datei neu laden“, um die aktuelle Datei mit eingerücktem Inhalt aktualisiert anzuzeigen.
Sie können also grundsätzlich arara/die Kommandozeilenversion von latexindent so einrichten, dass der Code über TeXmaker eingerückt wird:
(*) (Benutzer->Befehle->Benutzerdefiniert "arara %.tex" oder "texmaker.exe" -w %.tex) oder alternativ über (Optionen->Quickbuild->...)
Ein kleiner Nachteil bleibt jedoch: Sie müssen Latex-Indent über ALT+SHIFT+F1 aufrufen (wie in (*) eingerichtet) und dann zusätzlich im Dateimenü „Dokument neu laden“ auswählen. Dies sollte für die meisten Benutzer ausreichend sein.