Search the FirstSpirit Knowledge Base
Hallo Zusammen,
ich suche nach einer Möglichkeit in einen Inhalt mathematische oder chemische Formeln einzubinden.
Es gibt ja die Möglichkeit mittels Latex solche Formeln zu erzeugen und dann als Bild anzuzeigen.
Hat das jemand schonmal in FirstSpirit (Template) gemacht ... und wie?
Mit freundlichen Grüßen
Michael Büttner
Hallo Herr Büttner,
die einfachste Variante ist es, einen Online-Service wie den Formelgenerator von Codecogs zu nehmen und über FS_BUTTON im AppCenter anzuzeigen.
Dort wird aus einem Latex-Code on-the-fly ein Bild der entsprechenden Formel erzeugt, dass Sie dann einfach per Drag and Drop in einer Bildeingabekomponente weiterverwenden können.
Selbstverständlich lässt sich durch eine weitergehende Implementierung die Usability hier noch deutlich steigern, aber die von Ihnen formulierte Grundanforderung wäre mit diesem Ansatz abgedeckt.
Der entsprechende Code sieht wie folgt aus:
Im Formular des Templates ein FS_BUTTON-Element hinzufügen:
<FS_BUTTON
name="st_formulaeditor"
hFill="yes"
onClick="script:acc_open"
style="button">
<LANGINFOS>
<LANGINFO lang="*" label=" (online)"/>
</LANGINFOS>
</FS_BUTTON>
Das Script acc_open hat dann folgenden Code:
import de.espirit.firstspirit.access.ServicesBroker;
import de.espirit.firstspirit.client.gui.applications.ApplicationService;
import de.espirit.firstspirit.client.gui.applications.browser.BrowserApplication;
import de.espirit.firstspirit.client.gui.applications.browser.BrowserApplicationConfiguration;
import de.espirit.firstspirit.client.gui.applications.browser.BrowserListener;
url = "http://www.codecogs.com/latex/eqneditor.php?lang=en-us";
appService = context.requireSpecialist(ServicesBroker.TYPE).getService(ApplicationService.class);
appTab = appService.getApplication(BrowserApplication.TYPE, "Formula editor");
if (appTab == null || appTab.isClosed()) {
configuration = BrowserApplicationConfiguration.GENERATOR.invoke().title("Formula editor").identifier("Formula editor");
appTab = appService.openApplication(BrowserApplication.TYPE, configuration);
}
app = appTab.getApplication();
app.openUrl(url);
appTab.setSelected();
appService.setVisible(true);
Hallo Her Bohm,
vielen Dank für die Antwort.
Mit dem FS_Button habe ich mich leider noch nicht beschäftigen können. Ich habe gerade mal die Doku überflogen ... Und noch nicht ganz verstanden 🙂
Aber ist das nicht auch ohne AppCenter möglich (Das haben wir nicht).
Ich hatte mal das gefunden: http://www.mathjax.org/ und auf einem benachbarten Server haben wir auch noch eine LateX Variante installiert.
Es sollte eigentlich so sein, das ein Autor in einer Seite den entsprechenden "Formelquellcode" eingibt und auf der fertig gerenderten HTML Seite das entsprechende "Bild" der Formel dargestellt wird.
So ist das zur Zeit auch in einer Wiki bei uns. Dort wird über ein "Tag" ein Plugin aufgerufen, was zur Laufzeit das Bild erzeugt. Würde das dann über den FS_BUTTON auch so funktionieren? Eigentlich möchte ich es auch vermeiden, mit dem Server in das Internet zu gehen.
Mit freundlichen Grüßen
Michael Büttner
Die AppCenter-Variante wäre wohl für den Redakteur die komfortabelste Variante. Dafür müssen Sie auch nicht mit dem Server ins Internet. Die Integration passiert im JavaClient, es reicht also, wenn die Rechner der Redakteure Internetzugriff haben.
Sie können natürlich auch einfach ein Textfeld zur Verfügung stellen, in die dann eine LateX-Formel eingegeben werden muss. Die können Sie dann JSP/PHP oder der verlinkten Javascript-Library in der Webseite auswerten und ein Bild erzeugen lassen.
Ok. Vielen Dank. Ich werde mich mal an die zweite Variante setzen, sollte ja irgendwie lösbar sein.
Gruß
Michael Büttner