Dateien in Template einbinden über Argumente?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Dateien in Template einbinden über Argumente?

von ratte » Fr 27. Nov 2009, 07:32

Ich kenne keine aktuelle TeX-Implementierung, die einen Parameter --inputpath o. ä. versteht. Früher war das mal üblich, aber heute nicht mehr.

Für welche Dateien ein LaTeX-Lauf angestoßen wird, bestimmt das makefile. Das hat mit TEXINPUTS direkt nichts zu tun, den das ist eine Umgebungsvariable für TeX selbst. Siehe dazu "texdoc kapthsea" oder vergleichbare Anleitungen der verwendeten TeX-Implementierung.

von ari-whv » Do 26. Nov 2009, 13:12

Hallo,

welcher Parameter von pdflatex wäre das? Habe grad über Google und die man nichts gefunden...und TEXINPUTS kompiliert dann nur, wenn die entsprechenden Dateien verändert wurden?

Viele Grüße,
Ariane

von PP » Di 24. Nov 2009, 12:47

Im makefile TEXINPUTS passend setzen und exportieren oder den entsprechenden Parameter von pdflatex verwenden?

von ari-whv » Di 24. Nov 2009, 11:40

Hallo,

habe das jetzt hinbekommen, großes Dankeschön! Eine Frage hätte ich aber noch:

Wenn ich jetzt ein Makefile auf den Spaß loslasse und meine einzeln zu kompilierenden Dateien in einem Unterverzeichnis liegen, bekomme ich Schwierigkeiten, dass er z.B. bestimmte Dateien nicht findet...Kann ich das im Makefile einstellen?

Entweder stelle ich meine TeX-Dokumente so um, dass das Makefile geht, oder so, dass ich mit Kile kompilieren kann - beides gleichzeitig geht bei mir momentan nicht...

Viele Grüße,
Ariane

edit: habe das Problem jetzt über zwei Makefiles und jeweiliges aufrufen mit $(MAKE) gelöst...gibt es schönere methoden?
edit 2: noch ein Problem: wie sage ich dem Makefile, dass es bestimmte "Komponenten" nur ausführt, wenn die dazugehörige Datei verändert wurde? Momentan führt er es einfach immer aus...

von ari-whv » Fr 20. Nov 2009, 12:29

Hallo,

vielen Dank für die Antwort! Wie schreibe ich mir denn so eine Wrapper-Klasse, kannst du mir dazu eine Seite empfehlen? Schaue grad im scrguide nach, was mir allerdings grade nicht sehr viel hilft..

Viele Grüße,
Ariane

edit: ah ok, arbeite mich grad mal ein und melde mich wieder falls es Probleme gibt...

von ratte » Do 19. Nov 2009, 18:27

Man scheibt sich eine Wrapper-Klasse, die alles macht, was vor \begin{document} steht.

Ansonsten kann man TeX auch Argumente als Parameter übergeben. Dabei muss man den Backslash aber shell-abhängig quoten. Folgendes würde beispielsweise mit der bash funktionieren:
\pdflatex '\documentclass{article}\begin{document}Test\end{document}'
Natürlich kann man auch Anweisungen mit \newcommand definieren:
\pdflatex '\newcommand*{\Text}{Dies ist ein Text}\input' test.tex
Hier würde die Anweisung \Text definiert und dann das Dokument test.tex ausgeführt. Im Dokument test.tex könnte dann beispielsweise stehen:
\documentclass{article}
\providescommand{\Text}{\typeout{ACHTUNG: \string\Text\ ist nicht definiert!}}
\begin{document}
\Text
\end{document}
Schönere Warnungen und Fehlermeldungen kann man mit \GenericWarnung und \GenericError basteln. Die beiden Anweisungen sind in source2e dokumentiert.

Dateien in Template einbinden über Argumente?

von ari-whv » Do 19. Nov 2009, 13:02

Hallo,

ich habe folgendes Problem: Ich habe mehrere TeX-Dateien, die alle nach demselben Schema erstellt werden sollen. Dazu habe ich eine Hauptdatei (Template), in der alle notwendigen Definitionen und Pakete drin sind. Darüber binde ich meine Dateien ein, sind ca. 20 Stück.
Da ich für jede Datei auch ein Literaturverzeichnis habe und multibib sich ab 12 Elementen quer stellt, habe ich ein paar Dateien separat kompiliert und dann als PDF direkt in mein Template eingebunden. Allerdings habe ich für jede Datei auch eine eigene Hauptdatei erzeugt, was blöd ist, wenn sich mal in einer Datei was ändert.

Lange Rede kurzer Sinn: Wie kann ich mehrere Dateien einzeln kompilieren mit einer Hauptdatei? Ich dachte da an ein Prinzip wie es mit g++ möglich ist, also Argumente wie den Dateinamen über die Kommandozeile einzugeben. Allerdings habe ich zu pdflatex nichts derartiges gefunden...

Vielen Dank im Voraus und viele Grüße,
Ariane

Nach oben