Seite 1 von 1

Größe der Formeln (alle auf einmal!) ändern

Verfasst: Fr 26. Jan 2024, 08:47
von np85
Hallo zusammen,

das ist mein erster Beitrag hier und ich hoffe ich bin mit meiner Frage hier richtig.

Ich bin mittlerweile begeisterter LibreOffice-Nutzer, nachdem ich mich von Windows und MS Office Stück für Stück abgewendet habe.

In meinen Dokumenten nutze ich recht viele Formeln aus dem Formeleditor. Mir ist bekannt, dass ich innerhalb des Formeleditors über "Format>Schriftgrößen" die Größe einer einzelnen Formel ändern kann.
Um das Layout anzupassen, muss ich ggf. die Schriftgröße des gesamtes Dokuments anpassen. Die Schriftgröße der Formeln ändern sich dann nicht.
Daher meine Frage: Gibt es eine Möglichkeit, die Schriftgröße aller Formeln nachträglich zu ändern, ohne dass ich 20mal in den Formeleditor muss, um dort händisch die Schriftgröße jeder Formel anzupassen?

Ich freue mich über eine Rückmeldung!

Re: Größe der Formeln (alle auf einmal!) ändern

Verfasst: Fr 26. Jan 2024, 10:29
von mikele
Hallo,
es gibt eine mächtige Erweiterung Dmaths, die u. a. eine Option enthält, die Formelgröße aller Formeln (oder des ausgewählten Textbereiches) punktweise zu ändern.
Du findest sie (und weitere Informationen) auf der Homepage von Gisbert Friege
http://dmaths.friege.de/abholen.html

Re: Größe der Formeln (alle auf einmal!) ändern

Verfasst: Mo 18. Mär 2024, 07:54
von np85
Hallo Mikele,

vielen Dank für die Rückmeldung. Die Erweiterung ist wirklich mächtig. Fast ein bisschen zu mächtig für meine Zwecke.

Allerdings muss ich sagen, dass genau meine benötigte Funktion nicht klappt. Ich habe die Funktion gefunden, wenn ich allerdings dort die Größe für die Formeln ändere, passiert nichts im Dokument. Nur wenn ich "manuell" im Formeleditor in die entsprechende Funktion gehe um die Größe zu ändern, dann klappt es.

Gibt es noch eine andere Möglichkeit außer die DMaths-Erweiterung?

Re: Größe der Formeln (alle auf einmal!) ändern

Verfasst: Mo 18. Mär 2024, 20:33
von mikele
Hallo,
ich mal versucht ein vereinfachtes Makro zu erstellen, dass die Formelgröße aller Formeln im Text um eine gewissen Wert n (positiv oder negativ) ändert:
Basic:

Code: Alles auswählen

Sub Main
		oDoc=ThisComponent
		odp=oDoc.Drawpage
		n=2
		for i=0 to odp.count-1
			oform= odp.getbyindex(i)
			if oform.supportsservice("com.sun.star.text.TextEmbeddedObject") then
				if oform.CLSID = "078B7ABA-54FC-457F-8551-6147e776a997" then
					fs=oform.EmbeddedObject.getComponent().BaseFontHeight
					fs_neu=fs+n
					if fs_neu<4 then
						fs_neu=4
					end if		
					oform.EmbeddedObject.getComponent().BaseFontHeight=fs_neu
				end if
			end if
		next
End Sub
und mein nächster Gehversuch in Python:

Code: Alles auswählen

def formel_size():
    oDoc = XSCRIPTCONTEXT.getDocument()
    odp = oDoc.DrawPage
    n= 2
    for i in range(odp.Count):
        oform=odp[i]        
        if oform.supportsService("com.sun.star.text.TextEmbeddedObject"):
            if oform.CLSID == "078B7ABA-54FC-457F-8551-6147e776a997":
                fs=oform.EmbeddedObject.getComponent().BaseFontHeight
                oform.EmbeddedObject.getComponent().BaseFontHeight = max(fs+n, 4)
Der Wert für n wird im Makro selbst festgelegt.