Xfig


Themen


Ein alter Freund aus den 80ern

Ich tippe xfig in die Konsole und sofort erscheint eine GUI, der man ansieht, dass sie in diesem Jahr ihren vierzigsten Geburtstag feiert. Mit xrandr -s 1680x1050 setze ich die Bildschirmauflösung etwas herunter, da die Menüs sonst zu klein sind.

2025_02_01_xfig_startup.png

Abbildung 1: Eine kleine Zeitreise – die GUI von Xfig.

Xfig ist ein Klassiker der vektorbasierten Illustration für Unix/Linux-Systeme aus Japan. Bis heute unübertroffen ist aber die hohe Kompatibilität der Export Formate mit LaTeX. Nur ein Beispiel: Mit psfrag können Texte in einer von Xfig exportierten EPS Grafik vom TeX Compiler nachträglich ersetzt werden. So lassen sich zum Beispiel Prüfungsaufgaben sehr einfach individualisieren, ohne die Original-Zeichnung bearbeiten zu müssen. Im folgenden Code-Beispiel werden die Label a und b durch konkrete Längenangaben ersetzt.

\psfrag{a}{$a=$ 30 m}
\psfrag{b}{$b=$ 40 m}
\includegraphics{./my_img.eps}

Zeichnen

Auf der linken Seite findet man zwei Symbol-Blöcke. Der obere, überschrieben mit (Drawing), erstellt neue Objekte:

  • Kreise und Ellipsen
  • geschlossene, offene und interpolierte Splines
  • geschlossene und offene Polygone
  • Boxen, Vielecke und Bögen
  • Bilderimport, Text und eine Unmenge von Bibliotheks-Teilen

2025_02_01_xfig_lib.png

Abbildung 2: Xfig bietet eine umfrangreichen Bibliothek mit Zeichnungselementen.

Modifizieren

Geändert wird mit dem unteren Symbol-Block (Editing):

  • gruppieren, verbinden, lösen, …
  • skalieren
  • ausrichten und verschieben
  • kopieren
  • löschen
  • spiegeln und rotieren
  • messen

2025_02_01_xfig_edit.png

Abbildung 3: Mit »Edit« können Objekt-Eigenschaften geändert werden.

Ebenen

Man kann jedes Objekt auf eine Ebene (Depth) legen und diese Ebenen dann am rechten Rand mit den roten Häkchen ein oder ausschalten. So lassen sich Beschriftungen in verschiedenen Sprachen anlegen oder komplexe, techische Zeichnungen organisieren.

Gitter und Fangen

Ganz unten (Grid Mode) können verschiedene Gitter, auch isometrische, gewählt werden. Sobald ein Zeichnungswerkszeug ausgewählt wurde, kann daneben mit Point Posn ausgewählt werden, auf welchem Gitter Punkte gefangen werden. Zeichnungselemente werden über das Drop-Down Menü Snap am oberen Rand gefangen.

Los gehts

Unter Ubuntu 22.04 fehlten leider noch Schriften, die nach sudo apt-get install gsfonts-x11 und einem PC-Neustart in Xfig zur Verfügung standen.

  1. Eventuell Grid Mode einstellen
  2. Form zeichnen
    • Zeichenwerkzeug im oberen Block wählen
    • gegebenenfalls Fangverhalten einstellen Point Posn und Snap
    • mit der Maus Punkte setzen, oben rechts im Fenster (Mouse Buttons) werden die gerade aktiven Funktionen erläutert
  3. Form bearbeiten
    • Edit klicken
    • Kante der Form anklicken
    • Eigenschaften im aufpoppenden Fenster bearbeiten und mit Done abschließen
    • Text lässt sich am besten mit der Edit Funktion verändern
    • etwas lästig: Umlaute konnte ich nicht direkt, sondern nur über View → Character Map eingeben.
  4. Speichern und Exportieren

2025_02_01_xfig_exp.png

Abbildung 4: Für LaTeX Nutzerinnen und -nutzer besonders interessant: die Exportformate.

Fazit

Mit Inkscape gibt es natürlich zeitgemäßere Open-Source Software für die Vektorillustration. Vielleicht ist es auch etwas geekig, aber ich mag das minimalistische Design der alten Xlib Anwendungen. Gemessen am beanspruchten Plattenplatz von nur 12 MB und seinem Alter ist Xfig erstaunlich mächtig und sicher in der Lage auch im Jahr 2025 noch produktiv die ein oder andere Illustrationsaufgaben zu lösen. Heute noch unübertroffen ist die LaTeX Integration der Export Formate.

2025_02_02_xfig_beispiel.png

Abbildung 5: Gerade etwas minimalistische Designs lassen sich mit Xfig auch heute noch produktiv umsetzen.

Datum: 1. Februar 2025

Autor: Peter Vennemann

Email: mail@vennemann-online.de