-
Objektorientierung in Latex
Hallo zusammen,
ich habe die Aufgabe, ein recht flexibles Dokument zu erstellen und ohne Objekte würde alles sehr unübersichtlich werden.
Einfaches Anforderungsbeispiel:
Bezeichnung.Nummer.Eigenschaft
Es gibt unterschiedliche Einträge für Nummer und Eigenschaft also z. B.
Gerät.1.Farbe = gelb
Gerät.2.Farbe = grün
Gerät.1.Zustand = neu
etc.
Und im Latex-Code würde ich gerne einfach schreiben: Gerät.1.farbe und er plottet mir die vorher definierte Farbe. also nur gelb.
Auch könnte ich so mit Schleifen arbeiten (Nummer 1 - 10 o. ä.).
Ich finde leider nichts passendes im Netz und hoffe, Ihr könnt mir helfen!
-
Das hört sich nach einer Aufgabe für LuaTeX an. Du kannst den Kram in Lua programmieren und dann darauf zugreifen. Und wenn Du schon dabei bist, schau Dir doch auch noch LaTeX3 an.
-
Hallo Cookie!
Vielen Dank für die Hinweise!
Ich habe mir nun LuaTex angesehen und ich denke, mein Vorhaben ist damit realisierbar. Leider schaffe ich es auch nach stundenlangen Recherchen nicht ein einfaches Beispiel zum Laufen zu bringen ...
Mein vorläufiges Ziel:
1. Objekt erstellen
2. Funktionen erstellen
3. Objekt befüllen
4. Ausgabe
Mein Code (nicht lauffähig):
\directlua{
%1. Objekt erstellen
DUT = {SN = 1, HW = 2, SW = "string"}
%2. Funktionen erstellen
function DUT:Neu (o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
%Diese Funktion habe ich aus dem Tutorial übernommen. Was macht die Funktion genau und worauf muss ich achten?
function DUT:Ausgabe()
tex.print("Seriennummer: ".. self.SN)
tex.print("Softwarestand: ".. self.SW)
tex.print("Hardwarestand: ".. self.HW)
end
%3. Objekt befüllen
DUT1 = DUT:Neu(SN = 5, HW = 6, SW = "test")
%4. Ausgabe
DUT.Ausgabe()
}
Ich hoffe, ihr könnt mir helfen.
Vielen Dank schon mal!
-
Du solltest dich mehr anstrengen. Einfach ein Codeschnipsel hinzuwerfen und auf ein unbekanntes Tutorial zu verweisen, ist keine vernünftige Problembeschreibung.
Abgesehen davon: Packe keinen langen luacode in \directlua. Benutze das luacode-Paket.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen