Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Objektorientierung in Latex

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.10.2010
    Beiträge
    11

    Lightbulb 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!

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.406
    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.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.10.2010
    Beiträge
    11
    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!

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.022
    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.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •