Also entweder verstehe ich einfach zu wenig von der Materie um die Probleme zu sehen oder Du denkst zu kompliziert. Wahrscheinlich ist es eine Mischung aus beidem.
Ich beschreib mal, was das Paket machen müsste, wenn bereits eine tex-Datei vorliegt, der Benutzer dann auf die Idee kommt, er könnte ja das Paket einbinden und sein Dokument hinterher noch ändert. Ich denke schlimmer kann es nicht kommen.
Erstes Kompilieren nach dem Einbinden des Pakets:
Der Compiler trifft auf ein "$" (oder ähnliches). Ab jetzt werden alle Ascii-Zeichen die Buchstaben darstellen einzeln und in jeder vorkommenden Kombination in eine neue Datei geschrieben und die Kombination "{}{}" angehängt. Solange bis eine weiteres "$" gefunden wird. Das wird für alle Formeln durchgeführt. Der Inhalt der Datei wird alphabetisch geordnet. Dann:
Code:
Call "Duplikate aus Datei einfernen"
Call "Leere Klammernpaare {} finden und Warnung ausgeben"
Die Datei sieht jetzt so aus:
Code:
g{}{}
gt{}{}
m{}{}
s{}{}
t{}{}
Es werden Warnungen ausgegeben:
"In der Nomenklatur wurde der leere Eintrag g{}{} gefunden."
"In der Nomenklatur wurde der leere Eintrag gt{}{} gefunden."
usw.
Der Nutzer kann jetzt in die Datei gehen und sie editieren:
Code:
g{Erdbeschleunigung}{\frac{m}{s^2}}
\ignore gt{}{}
m{}{}
s{Strecke}{m}
t{Zeit}{s}
Du siehst, ich habe m{}{} nicht auf \ignore gesetzt. Bei "gt" bin ich mir sicher, dass ich es niemals als Formelzeichen verwenden werde.
Zweites Kompilieren:
Die Nomenklatur wird mit den Einträgen g, s und t erstellt. Außerdem erhält man eine Warnung: "In der Nomenklatur wurde der leere Eintrag m{}{} gefunden.". Der Kompiliervorgang geht weiter:
An die Datei werden alle Buchstabenkominationen aus allen Formel angehängt (Falls das nicht geht, muss mit einer temp-Datei gearbeitet werden.) Die Datei wird sortiert, Duplikate werden entfernt. Außerdem wir der Eintrag "gt{}{}" entfernt, da es auch einen Eintrag "\ignore gt{}{}" gibt. Des Weiteren werden die Einträge "g{}{}", "s{}{}" und "t{}{}" entfernt, da es auch Einträge gibt, bei denen die jeweiligen Klammern nicht leer sind. Die Datei sieht jetzt also genau gleich aus wie vorher. Um die Warnungen temporär zu ignorieren, könnte es einen Befehl \ignorenomenclaturewarnings{m,...} geben.
Jetzt werden neue Formeln eingetippt:
Code:
%\ignorenomenclaturewarnings{m}
$v=\frac{s}{t}$
$F=m\cdot a$
Kompilieren:
Die Datei sieht so aus:
Code:
a{}{}
F{}{}
g{Erdbeschleunigung}{\frac{m}{s^2}}
\ignore gt{}{}
m{}{}
s{Strecke}{m}
t{Zeit}{s}
v{}{}
Natürlich erhält man wieder Warnungen... Rein in die Datei:
Code:
a{Beschleunigung}{\frac{m}{s^2}}
F{Kraft}{N}
g{Erdbeschleunigung}{\frac{m}{s^2}}
\ignore gt{}{}
m{Masse}{kg}
s{Strecke}{m}
t{Zeit}{s}
v{Geschwindigkeit}{\frac{m}{s}}
Kompilieren und die vollständige Nomenklatur bestaunen.
Gruß
Philipp
Lesezeichen