Halli hallo.

Ich suche nach Möglichkeiten, Bilder in PlainTex (speziell LuaTex) in ein Dokument einzufügen. Was in Latex schnell gemacht ist, geht in PlainTex aber noch lange nicht. Ich habe Lösungen gefunden, die eps-Files einbinden können. Auch pdf-Files sind wohl möglich.

Mein Ziel ist es, png oder jpg einzufügen, finde aber keinerlei Ansatz dafür. Da es Latex aber kann, kann es ja kein Hexenwerk sein ;-) Okay, natürlich ist das nicht ohne, das ist mir bewusst.

Hat jemand einen Hinweis für mich, wie ich vorgehen kann oder wo ich weiterforschen muss?

Viele Grüße Peter

gefragt 22 Feb '21, 11:09

altesCoon's gravatar image

altesCoon
8137
Akzeptiert-Rate: 100%

bearbeitet 22 Feb '21, 12:53

saputello's gravatar image

saputello
11.1k174365

Wie bereits früher erwähnt, sehe ich nur wenig Sinn darin, die Möglichkeiten von sämtlichen LaTeX-Paketen für plainTeX neu zu implementieren. Man landet dann früher oder später ohnehin bei LaTeX (oder ConTeXt) und dem dokumentierten Code dieser Pakete.

Und wie gesagt: Wenn man solche Dinge machen will, sollte man unbedingt die Basis-Literatur zu den Engines lesen. Also beispielsweise »The pdfTeX user manual« und das »LuaTeX Reference Manual«. Beide werden normalerweise mit den TeX-Engines zusammen installiert (wenn man nicht blöder Weise die Installation von Doku abgeschaltet hat).

(22 Feb '21, 12:54) saputello

Vielen Dank saputello für diese Hinweise, die mich sehr viel weiter gebracht haben :-) Sie helfen mir sehr, das grundlegende (pdf/lua)Tex besser zu verstehen.

(22 Feb '21, 15:51) altesCoon

Das geht je nach Backend unterschiedlich. Bei dvi…-Backends geht es beispielsweise üblicherweise per \special-Anweisung, deren genaue Syntax auch noch vom genauen Backend abhängen kann. Man muss also das Manual des jeweiligen Backends studieren. Beim pdftex-Backend geht es hingegen über \pdfximage. Näheres dazu ist »The pdfTeX user manual« zu entnehmen. Bei LuaTeX geht es entsprechend über \saveimageresource/\useimageresource. Näheres ist dem »LuaTeX Reference Manual« zu entnehmen.

Wie man sieht, kann es recht aufwändig werden, das für mehrere Backends selbst zu programmieren. Die Abstraktionsebene, die durch LaTeX-Pakete erbracht wird, dient deshalb nicht ohne Grund dazu, diese Arbeit zu sparen und von den Dokumenten an eine zentrale Stelle zu verschieben. Statt sich auf theoretischer Basis das ganze Wissen – für das man im Normalfall eher wenig Verwendung hat – selbst anzueignen, kann es daher auch sinnvoll sein, die praktische Umsetzung im graphics bundle und dessen Treiber/Backend-Dateien zu studieren.

Hilfreich kann auch sein, die graphicx.sty-Treiberdatei zu erforschen. Dabei findet man dann auch schnell, welche Dateiformate ohne Konvertierung unterstützt werden. Auch das hängt nämlich vom Backend ab. graphics/graphicx bietet da teilweise automatische Konvertierung, die man für plainTeX ggf. ebenfalls nachbauen müsste.

Es gibt aber auch die Möglichkeit, stattdessen für plainTeX LaTeX-Pakete zu erschließe. Je nachdem, wieviel LaTeX-Kernel ein LaTeX-Paket verwendet, kann das mehr oder weniger aufwändig sein. Für graphics/graphicx hat das David Carlisle bereits getan. Der einfachste Weg, Bilder in plainTeX einzufügen ist daher die Verwendung seines graphics-pln. Entsprechend der dem Paket beiliegenden Beispieldatei funktioniert die Einbindung einer Abbildung dann ganz einfach:

% !TEX pdftex
% ACHTUNG! Dies ist kein LaTeX-Beispiel, sondern plainTeX!
%          Verwende bitte pdftex, luatex, xetex oder tex.
%          pdflatex, lualatex oder xelatex werden nicht funktionieren!
\input graphicx

\includegraphics{example-image}

\includegraphics[scale=0.5]{example-image}

hello\rotatebox[origin=c]{180}{hello}hello

\bye
Permanenter link

beantwortet 17 Mär '21, 08:58

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 17 Mär '21, 10:47

Es geht mit % !TEX none. Das Übersetzen ist aktuell auf (pdf|Xe|Lua)LaTeX ausgelegt. Plain TeX sehe ich in den Foren relativ selten. Kann ich aber einbauen. Eine Doku muss ich noch machen.

(17 Mär '21, 09:12) stefan ♦♦
1

@saputello Behoben! Das none war in der neuesten Version drin, die ich erstmal nur auf latex.org testete. Weil David und ich gestern noch mehrfach Verbesserungen vornahmen, hatte ich das Updaten hier noch aufgeschoben.

(17 Mär '21, 09:59) stefan ♦♦
1

@saputello % !TEX pdftex funktioniert jetzt: Testbeitrag. Ich hab aber erstmal den Button als "LaTeX-Ausgabe" belassen, weil ich es ursprünglich für neue Nutzer als einfachst verständlich empfand und es zu 99% um LaTeX geht und (La)TeX holprig klingt :-) Vorschläge für gute Formulierung sehe ich gern.

(17 Mär '21, 10:18) stefan ♦♦

@stefan »Ergebnis« (passt sowohl für PDF für fehlerfreie Dokument als auch log-Datei für fehlerhafte Dokumente), »PDF-Ausgabe« (ist deutlicher passt aber nicht für die log-Datei fehlerhafter Dokumente), »Ausgabe« (passt wie »Ergebnis« eigentlich immer). Sowohl »PDF-Ausgabe« als auch »Ausgabe« passen auch zu »Ausgabe löschen« (erscheint ja nachdem man LaTeX/TeX aufgerufen hat).

(17 Mär '21, 10:46) saputello

Danke auch hier nochmal für die ausführliche Antwort :-)

(24 Mär '21, 09:20) altesCoon

"Statt sich auf theoretischer Basis das ganze Wissen – für das man im Normalfall eher wenig Verwendung hat – selbst anzueignen ..." Theoretisch bleibt es nicht. Ich entwickel mir gerade ein Mini-Paket, das viel verwendet werden soll und grundlegende Dinge in PlainTex erledigt (Chapter, Section usw., Inhaltsverz., Bilder, Farben, Drehungen). Mehr brauche ich nicht für meine speziellen Zwecke. Ich freue mich dabei a) an der Übersetzungsgeschwindigkeit von PlainTex, b) an der begrenzten Zahl und der Übersichtlichkeit der verwendbaren Befehle, c) an der besseren Berechenbarkeit der Ergebnisse.

(24 Mär '21, 09:22) altesCoon
Ergebnis 5 von 6 show 1 more comments
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:

×39
×33
×5
×2

gestellte Frage: 22 Feb '21, 11:09

Frage wurde gesehen: 3,136 Mal

zuletzt geändert: 24 Mär '21, 09:22