Ich bin momentan besonders an TeX-Code interessiert.

Aus einsichtigen Gründen hat LaTeX den TeX-Code verbessert, zusammengefasst und per Konvention Fehler korrigiert. Trotzdem bietet TeX noch manche Möglichkeiten, die in LaTeX nicht ausgeschöpft werden. Oft begegnet mir die Kritik, dass man TeX-Code nicht in LaTeX-Umgebungen benutzen soll.

Trotz eines fehlenden Beispiels die (rückwärtsgewandte) Frage:
Gibt es eine Möglichkeit, dem LaTeX-Kern eine Option wie „handle as TeX“ mitzuteilen, also im LaTeX-Quelltext LaTeX quasi kurzzeitig „abzuschalten“, damit man reinen TeX-Code auch in LaTeX-Dokumenten schadlos anwenden kann?

Das ist bis jetzt nur eine sehr theoretische Frage, aber vielleicht gibt es dazu schon Ideen?

gefragt 30 Jun '13, 01:30

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 30 Aug '13, 11:41

Qrrbrbirlbel's gravatar image

Qrrbrbirlbel
2.9k2815

Könntest du bitte deine Frage konkretisieren. Bekanntlich basiert LaTeX auf TeX und alle operationen werden unterm Strich wieder von TeX ausgeführt. Natürlich haben verschiedene Kompilierunstools einige zusätzliche Gimmiks eingebaut, aber ich denke, dass du das hier nicht meinst.

(30 Jun '13, 09:06) Marco_D

LaTeX ist ja "nur" eine Makrosammlung für TeX. Ich verstehe, was Du meinst, man sollte z.B. nicht versehentlich LaTeX-Zähler ändern und ähnliches. Man könnte hierfür den TeX-Code durch externen TeX-Aufruf ausführen lassen und das Ergebnis wird eingebettet.

(30 Jun '13, 09:40) stefan ♦♦

Natürlich kann man plain TeX Code in einem LaTeX-Dokument ausführen. Man sollte es aber nicht als gute LaTeX-Praxis verkaufen, wenn es stattdessen (gute) LaTeX-Lösungen gibt. Kannst Du ein Beispiel für „Trotzdem bietet TeX noch manche Möglichkeiten, die in LaTeX nicht ausgeschöpft werden.“ bringen?

(30 Jun '13, 11:11) cgnieder

@Clemens: Man kann nicht beliebigen plainTeX-Code in einem LaTeX-Dokument ausführen, das LaTeX kein komplettes plainTeX enthält.

(30 Jun '13, 13:23) saputello

@saputello Ich weiß - es scheint mir auch keinen Sinn zu ergeben, das zu wollen, aber man weiß ja nie. Es ist mir etwas unklar, worauf die Frage eigentlich abzielt.

(30 Jun '13, 13:28) cgnieder

Vielen Dank für die zahlreichen Antworten. Die Frage war etwas voreilig gestellt, Der Kommentar von Stefan zeigt die richtige Vorgehensweise.

Tatsächlich hatte ich überlegt, ein "Dokument im Dokument" zu erstellen, welches jeweils nur durch den Befehlsssatz, oder wie immer man das nennen will, von TeX oder LaTeX ausgeführt wird.

(30 Jun '13, 21:01) ctansearch

Die Frage ist wirklich etwas unklar gestellt: Selbst das normalerweise als "TeX" bezeichnete "plain TeX" ist ja schon eine Erweiterung von TeX selbst. LaTeX baut bzw. baute zwar auf Plain-TeX auf, hat aber vieles durch eigenes ersetzt, so dass es keine wirkliche Kompabilitität gibt. Zudem ist Plain-TeX per se noch zu einfach, so dass man für ein "richtiges" Dokument doch noch einen Satz Makros benötigt--DEK definiert selbst ja für seine Manuskripte immer wieder eigene Makros.

Wenn man alle internen Definitionen (u.a. "table of equiv") sichern und laden könnte, dann ... vielleicht mit LuaTeX?

(30 Jun '13, 21:35) bernd
Ergebnis 5 von 7 show 2 more comments

LaTeX ist bekanntlich ein Format für TeX. iniTeX bietet zwar die Möglichkeit ein Format per \dump zu erzeugen, allerdings bieten weder iniTeX noch TeX noch die bekannten TeX-Abkömmlinge PDFTeX, e-TeX, LuaTeX oder XeTeX einen Befehl, mit dem man ein Format entladen und später erneut laden kann.

Gäbe es solche Befehle könnte man Daten zwischen dem Entladen eines Formats und dem Laden eines anderen oder desselben Formats auch nur über externe Dateien austauschen. Seiten, die mit dem einen Format erstellt wurden, müssten vor dem Entladen des Formats ausgegeben werden.

Um so etwas zu simulieren, könnte man den Teil, der mit einem anderen TeX-Format ausgeführt werden soll, auch einfach in eine externe Datei schreiben (siehe beispielsweise die filecontents-Umgebung bei LaTeX) und diese Datei per shell-escape mit einer neuen TeX-Instanz verarbeiten. Danach kann man erzeugte Seiten beispielsweise wie pdfpages oder ähnlichen Mechanismen anderer Formate einfügen und dann weiter machen.

Unterschiedliche TeX-Programme stellen unterschiedliche shell-escape-Mechanismen zur Verfügung. Gängig ist das sogenannte \write18-Feature, bei dem ein Programm über eine \write- oder \immediate\write-Anweisung mit dem write-Register Nr. 18 stattfindet. LuaTeX bietet über Lua weitere Möglichkeiten.

Eine konkretere Antwort ist leider schwierig, da die Frage sehr allgemein gestellt wurde.

Permanenter link

beantwortet 30 Jun '13, 13:20

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 30 Jun '13, 13:22

Vielen Dank für die zahlreichen Antworten. Die Frage war etwas voreilig gestellt, Der Kommentar von Stefan zeigt die richtige Vorgehensweise.

Tatsächlich hatte ich überlegt, ein "Dokument im Dokument" zu erstellen, welches jeweils nur durch den Befehlsssatz, oder wie immer man das nennen will, von TeX oder LaTeX ausgeführt wird.

(30 Jun '13, 21:00) ctansearch
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×22
×5
×3

gestellte Frage: 30 Jun '13, 01:30

Frage wurde gesehen: 13,429 Mal

zuletzt geändert: 30 Aug '13, 11:41