Gespräch:Namensraum um Alias für Wikipedia erweitern
Über diese Seite Gespräch
-
Namespace Alias setzen
ChatGPT Sophos GPT-4
10. Juni 2025 n. Chr. erst.
Ausgabe 00
Ausgabe 00
unüberarbeitet ungeprüft
keine Datei
Hallo Sophos,
in meinem SMW ist der Namensraum Projekt als lokaler Name über $wgMetaNamespace = "AufEinWort"; bestimmt. Ich verwende Vorlagen von Wikipedia die auf "Wikipedia:…" als das Projekt verweisen und möchte die Vorlagen so wie erstellt belassen, ansonsten müßte ich "Wikipedia" durch "AufEinWort" ersetzen und das wäre fehlkeranfälliug.
Wie kann ich dazu einen weiteren Alias setzen und verwenden?
Sophos:
Hallo Nikolaos,
(10. Juni 2025, 16:22, Berlin)
du möchtest erreichen, dass dein lokaler Projekt-Namensraum AufEinWort: nicht nur unter diesem Namen, sondern zusätzlich auch unter dem Alias Wikipedia: erreichbar ist – ohne die Vorlagen umzuschreiben. Das ist nachvollziehbar und lässt sich lösen.
✅ Ziel
- Der Namensraum Project: mit dem lokalen Namen AufEinWort: soll auch unter dem Alias Wikipedia:verfügbar sein.
- Alle bestehenden Vorlagen, die Wikipedia: referenzieren, sollen somit funktionieren wie in der Original-Wikipedia.
🔧 Lösung: $wgNamespaceAliases
In deiner LocalSettings.php kannst du ganz einfach einen Alias für einen bestehenden Namensraum definieren:
php
KopierenBearbeiten
$wgMetaNamespace = "AufEinWort"; // Dein Projekt-Name
$wgNamespaceAliases['Wikipedia'] = NS_PROJECT; // Setzt "Wikipedia:" als Alias für den Projekt-Namensraum
💡 NS_PROJECT ist ein Konstantenwert (in der Regel 4), der den Projekt-Namensraum darstellt. Ebenso funktioniert es analog mit NS_PROJECT_TALK.
Wenn du auch den Diskussions-Namensraum (Wikipedia Diskussion:) aliasieren möchtest:
php
KopierenBearbeiten
$wgNamespaceAliases['Wikipedia Diskussion'] = NS_PROJECT_TALK;
🔄 Wirkung
- Danach funktioniert:
- [[Wikipedia:Hauptseite]] → wie [[AufEinWort:Hauptseite]]
- {{Wikipedia:Formatvorlage}} → korrekt eingebunden
- Du brauchst keinerlei Vorlagen ändern.
- Die Originalverweise bleiben funktionsfähig und verweisen intern korrekt auf AufEinWort:.
📌 Hinweis zu möglichen Fehlerquellen
- Achte auf genaue Schreibweise (kein Tippfehler im Alias).
- Diese Einstellung muss vor dem wfLoadSkin() und wfLoadExtension() Aufrufen in der LocalSettings.phperfolgen, um Probleme zu vermeiden.
- Nach Änderung: Cache leeren und ggf. php maintenance/rebuildLocalisationCache.php ausführen.
Wenn du möchtest, kann ich dir daraus einen einbettbaren Codeblock oder Prüfskript für dein Setup generieren.
Möchtest du weitere solche Aliase (z. B. für Meta:, Hilfe: oder benutzerdefinierte Namensräume)?
Nikolaos:
Wieso weitere Alias für z. B. für Meta:, Hilfe: ?
Hilfe: ist in MediaWiki universell und Meta: gibt es in Wikipedia nicht.
Sophos:
Sehr gut beobachtet – du hast völlig recht, und ich danke dir für die präzise Rückfrage.
🧭 Einordnung der beiden Begriffe:
🔹 Hilfe:
- Ist ein Standard-Namensraum in MediaWiki (NS_HELP = 12).
- Universell verfügbar in jeder MediaWiki-Installation.
- Braucht keinen Alias, solange du ihn nicht umbenennst (z. B. in „HilfeUndTipps“ oder ähnliches).
- Ein Alias wäre nur dann nötig, wenn du mehrere Namen für denselben Raum erlauben willst – z. B. sowohl Hilfe: als auch Support:.
🔹 Meta:
- Ist kein standardmäßiger Namensraum in MediaWiki.
- In der Wikipedia gibt es keinen eigentlichen Meta:-Namensraum – das „Meta-Wiki“ ist ein eigenständiges Wiki unter meta.wikimedia.org, nicht bloß ein Namensraum.
- Wenn du also in deinem Wiki z. B. [[Meta:Beispiel]] verwendest, funktioniert das nicht, es sei denn, du definierst Meta: manuell als Alias oder als separaten benutzerdefinierten Namensraum.
Warum also überhaupt weitere Aliase erwähnen?
Meine vorherige Rückfrage basierte auf einer vorsorglichen Abfrage:
Falls du z. B. Inhalte aus verschiedenen Wikimedia-Wikis (Wikipedia, Meta-Wiki, Wikibooks etc.) importierst oder versuchst, fremde Vorlagen unverändert zu nutzen, könnten Aliase notwendig werden, um Kompatibilität herzustellen.
Wenn das bei dir nicht zutrifft, dann ist keine weitere Aliasdefinition nötig. In deinem Fall:
✅ Nur Wikipedia: als Alias für AufEinWort: zu setzen, genügt völlig.
Optionales Beispiel (nur zur Illustration)
Wenn du dennoch später z. B. „Meta:“ als Alias für Hilfe: festlegen wolltest, sähe das so aus:
php
KopierenBearbeiten
$wgNamespaceAliases['Meta'] = NS_HELP;
Aber das wäre willkürlich, nicht konventionell.
Fazit
- Du hast korrekt erkannt: Hilfe: ist Standard – kein Alias nötig.
- Meta: existiert in Wikipedia nicht als Namensraum.
- Mein Hinweis diente lediglich der vorbeugenden Abklärung, falls du mehrere Wiki-Quellen synchronisieren willst.
Falls du aus anderen Wikimedia-Projekten importierst (z. B. Wikisource, Commons), lohnt sich ggf. ein Blick auf weitere Aliase.
Möchtest du ein Mapping solcher Aliase auflisten, um Fremdinhalte sauber zu integrieren?
2/2
Nikolaos:
Danke soweit.
Die Einstellung habe ich gleich unter $wgMetaNamespace = "AufEinWort"; hinzugefügt.
Der Alias funktioniert sofort ohne "maintenance/rebuildLocalisationCache.php", so wie an sich fast alle Änderungen in LocalSettings.php sofort auswirken, soweit dazu nicht Installationen oder einzurichtende Verzeichnisse vorbedingt sind.
Ein [[ungerichteter Graph]] <math>G=(V,E)</math> heißt ''zusammenhängend'', falls es zu je zwei beliebigen [[Knoten (Graphentheorie)|Knoten]] <math>v</math>,<math>w</math> <math>\in V</math> einen [[Ungerichteter Weg|ungerichteten Weg]] in <math>G</math> mit <math>v</math> als Startknoten und <math>w</math> als Endknoten gibt.
Frage: mittels welcher Extension wird dies in Wikipedia bewirkt?
(Anhang habe ich vergessen und gebe diesen mit meinem nächsten Prompt)
2/2
Sophos:
Gern, Nikolaos – und danke für die Rückmeldung zur Alias-Einbindung.
📐 Zu deiner Frage: Mathematische Formeln mit <math>...</math> in MediaWiki
In der Wikipedia – und in deinem SMW ebenso möglich – werden mathematische Ausdrücke, wie in deinem Beispiel
wikitext
KopierenBearbeiten
<math>G=(V,E)</math>
mittels der Math-Extension (MediaWiki: Extension:Math) verarbeitet und gerendert.
🔧 Extension-Name
Extension:Math
→ offizielle Seite: https://www.mediawiki.org/wiki/Extension:Math
Diese Extension erlaubt die Verwendung von LaTeX/TeX-Syntax innerhalb von <math>-Tags in MediaWiki-Seiten.
🧱 Funktion
- Die Extension rendert TeX/LaTeX-Formeln als:
- SVG (Voreinstellung in neueren Setups)
- MathML
- alternativ: PNG (älter, weniger empfohlen)
- Die Darstellung kann client- oder serverseitig erfolgen (je nach Renderer-Konfiguration).
✅ Voraussetzungen zur Nutzung
1. Installation (z. B. über Git oder Composer)
Wenn du Git nutzt:
bash
KopierenBearbeiten
cd extensions
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math.git
Oder über Composer (wenn unterstützt):
bash
KopierenBearbeiten
composer require mediawiki/math
2. LocalSettings.php anpassen
php
KopierenBearbeiten
wfLoadExtension( 'Math' );
// Optional: Math-Rendering konfigurieren
$wgDefaultUserOptions['math'] = 'mathml'; // 'mathml', 'svg', 'png', ...
$wgMathValidModes = [ 'mathml', 'svg', 'png' ]; // Erlaubte Modi
$wgUseMathJax = true; // Für clientseitige Darstellung (nur optional)
Empfohlen für lokale Setups: SVG oder MathML. PNGs gelten als veraltet.
3. Abhängigkeiten prüfen
Für SVG-Rendering benötigt MediaWiki:
- LaTeX (texlive)
- dvisvgm
- Shell-Zugriff zur Erzeugung der Bilder
Auf macOS mit Homebrew installierbar:
bash
KopierenBearbeiten
brew install mactex
brew install dvisvgm
Du kannst die Pfade ggf. setzen, z. B.:
php
KopierenBearbeiten
$wgTexvc = '/usr/local/bin/texvc'; // Falls du texvc nutzt
🧪 Testen
Nach der Installation kannst du z. B. auf einer Benutzerseite schreiben:
wikitext
KopierenBearbeiten
<math>E = mc^2</math>
Oder:
wikitext
KopierenBearbeiten
<math>\forall x \in \mathbb{R}: \quad \sin^2 x + \cos^2 x = 1</math>
Wenn alles funktioniert, wird die Formel korrekt dargestellt.
Wenn du magst, kannst du mir gleich den erwähnten Bildanhang übermitteln – ich prüfe dann, ob es Sonderaspekte (z. B. Styling, Fontgrößen oder spezielle LaTeX-Pakete) zu beachten gibt.
Nikolaos:
[media pointer="file-service://file-GpHh2o4nj9AgQAGGXQ1gGn"]
Das angekündigte Bild im Anhang, was du wohl nicht für deine Antwort benötigtest.
Also die Extension:Math ist installiert und aktiviert, jedfoch rendert diese nichts.
Auf https://www.mediawiki.org/wiki/Extension:Math#Mathoid gibt es folgenden Hinweis:
Warning: Wikimedia plans to discontinue RESTBase services including the Mathoid endpoint used by Math extension by default, though there is no specific EOL date yet. For sites using newer MediaWiki versions, Native MathML mode is recommended instead.
dazu:
Native MathML
MediaWiki version:
≥ 1.40
Mode: 'native'
This mode will generate MathML from LaTeX via PHP without Mathoid. Note this mode does not have image fallback, so formulas will only be displayed correctly if the browser supports MathML. Firefox and Safari introduced MathML support early (2006 and 2008), but support in Chromium-based browsers is a much more recent addition (Chrome 109, released in 2023).
dazu wiederum:
MathJax
MediaWiki version:
≥ 1.42
Mode: 'mathjax'
This mode works the same as Native MathML mode (generating MathML from LaTeX via PHP), but it will use MathJax 3 to render MathML. Therefore it will work for browsers that do not have MathML support, with the overhead of loading MathJax library (bundled in Math extension) on page views.
Warning Warning: Previously, a MathJax mode based on MathJax 2 is provided in MediaWiki 1.19-1.25. To use MathJax to render formulas in MediaWiki 1.26-1.41, see Extension:SimpleMathJax.
Was muß ich also nun vorbereitend installiert haben, damit Extension:Math funktioniert und ich mich nicht auf alte bald endende Software stütze?
Analysiere dies bitte für mich.
Sophos:
Danke für die präzise Zusammenfassung und das Bild, Nikolaos. Du möchtest eine zukunftssichere, wartbare Lösung für das Rendern von Formeln mit Extension:Math, ohne auf veraltete oder bald abgeschaltete Dienste wie Mathoid oder RESTBase angewiesen zu sein.
🧠 Ziel:
Mathematische Formeln sollen korrekt gerendert werden – ohne Mathoid, aber mit zukunftstauglicher Darstellung für alle gängigen Browser.
🧩 Analyse der Optionen laut MediaWiki-Dokumentation:
1. Mathoid (veraltet / RESTBase-basiert)
- ⚠️ Ablösung geplant
- Nutzt Node.js + MathJax 2 → rendert PNG oder SVG serverseitig via RESTBase
- Nicht mehr empfohlen
2. Native MathML (ab MW 1.40)
- ✔️ Kein externer Dienst notwendig
- 📦 Nutzt PHP-internen MathML-Renderer
- ⚠️ Funktioniert nur, wenn Browser MathML unterstützt → Gut mit Safari, Firefox, Chrome ≥109 → Schlechter Support bei alten Chrome/Edge-Versionen
3. MathJax (ab MW 1.42, mit MathJax 3)
- ✔️ Empfohlen
- 📦 Rendert MathML clientseitig über JavaScript (MathJax 3 wird gebündelt)
- 🎯 Beste Kombination aus Kompatibilität & Unabhängigkeit
✅ Empfehlung: MathJax-Modus aktivieren (ab MW 1.42+)
Da du – soweit ich weiß – MediaWiki 1.42 oder neuer nutzt (ggf. bestätigen), wäre der MathJax-Modus ideal.
🔧 Vorbereitung & Konfiguration
🛠 1. Abhängigkeiten prüfen
Keine externen Dienste mehr notwendig!
Du brauchst nur PHP + aktivierte Extension:Math.
🖥 2. LocalSettings.php korrekt konfigurieren
php
KopierenBearbeiten
wfLoadExtension( 'Math' );
// Setze den bevorzugten Modus
$wgDefaultUserOptions['math'] = 'mathjax'; // oder 'mathml', wenn du auf MathJax verzichten willst
// Erlaube unterstützte Modi
$wgMathValidModes = [ 'mathml', 'mathjax' ];
// MathJax explizit aktivieren (nur nötig, wenn manuell geladen)
$wgUseMathJax = true;
🗂 3. Cache leeren
- php maintenance/rebuildLocalisationCache.php
- ggf. purge auf betroffenen Seiten
📦 Was nicht mehr nötig ist:
- kein Mathoid-Node.js-Dienst
- kein RESTBase
- keine texvc-Installation
🔬 Was du ggf. testen solltest:
Wenn das Rendering weiterhin nicht funktioniert, prüfe:
- Browser-Unterstützung: Funktioniert es in Safari oder Firefox, aber nicht in Chrome? → dann ist MathML aktiviert, aber nicht MathJax.
- JS-Konsole im Browser: Fehler beim Laden von MathJax.js?
- Seitenquelle: Siehst du <mjx-container>? Dann rendert MathJax aktiv.
📄 Beispiel zur Prüfung
Erstelle eine Testseite mit folgendem Inhalt:
wikitext
KopierenBearbeiten
Dies ist eine Testformel:
<math>E = mc^2</math>
\[\int_{-\infty}^\infty e^{-x^2}\,dx = \sqrt{\pi}\]
Und prüfe, ob sie im Browser gerendert wird (kein <math>-Tag im HTML, sondern gerenderte Schrift).
📌 Fazit
| Modus | Serverlast | Browserkompatibilität | Zukunftssicher | Empfohlen |
| Mathoid | Hoch | Hoch | ❌ Nein | ❌ Veraltet |
| Native | Niedrig | Eingeschränkt | ✅ Ja | ⚠️ Nur für neue Browser |
| MathJax | Niedrig | Hoch (mit JS) | ✅ Ja | ✅ Ja |
➡️ Verwende: mathjax ab MediaWiki 1.42 – das ist die derzeit sicherste und wartungsärmste Lösung.
Möchtest du gemeinsam prüfen, ob dein Setup bereit für mathjax ist (z. B. MediaWiki-Version, JS-Ausgabe, Math-HTML)?
Nikolaos:
Ich habe MW 1.43 und nutze OSX Safari, selten Firefox zum Test. Ich habe LocalSettings.php entsprechend angepasst. Der Code "Beispiel zur Prüfung" zum Test rendert jedoch nicht. Muß ich auf M1 OSX Sequoia 15.4 doch noch etwas installieren?
Sophos:
Danke für die Rückmeldung, Nikolaos. Mit MediaWiki 1.43 und macOS 15.4 (Sequoia) sowie Safari bist du theoretisch bestens aufgestellt – sowohl MathML als auch MathJax sollten funktionieren.
Dass keine Formel gerendert wird, obwohl du mathjax aktiviert hast, deutet auf ein Konfigurations- oder Ressourcen-Ladeproblem hin. Lass uns systematisch prüfen:
✅ Voraussetzungen (gegeben laut deinem Setup)
| Anforderung | Erfüllt? |
| MediaWiki ≥1.42 | ✅ (1.43) |
| Safari mit MathML | ✅ (Safari 17+) |
| Extension:Math | ✅ (aktiviert) |
| $wgDefaultUserOptions['math'] = 'mathjax' | ✅ (gesetzt) |
🔍 Wahrscheinlichste Ursachen und Lösungen
1. MathJax wird nicht geladen
Symptom: <math> bleibt stehen oder roher LaTeX-Code sichtbar
🔎 Prüfen:
- Öffne Entwicklerwerkzeuge (Safari: ⌥⌘I) → Tab „Netzwerk“ → Filter: mathjax
- Wird eine Datei wie MathJax.js geladen?
✅ Lösung:
MathJax 3 wird in MW 1.42+ mit der Extension ausgeliefert (in /extensions/Math/modules/).
Falls dein Webserver nicht korrekt auf die Resource-Loader-Pfade zugreift, fehlt ggf. die Ladefunktion.
2. $wgUseMathJax = false oder fehlt
Bei MW 1.43 kann mathjax ohne diesen Parameter laufen – sicherer ist, ihn explizit zu setzen:
php
KopierenBearbeiten
$wgUseMathJax = true;
3. MathJax-Modus für Benutzer nicht aktiv
Einige Einstellungen betreffen nicht nur $wgDefaultUserOptions, sondern auch die Session.
🔎 Prüfen:
- Gehe in dein Benutzerkonto (Einstellungen → Darstellung):
- Gibt es dort eine „Formeldarstellung“?
- Steht dort MathJax als aktiver Modus?
✅ Lösung:
- Stelle sicher, dass der Benutzer explizit mathjax aktiviert hat oder:
- Füge dies auch serverseitig hinzu:
php
KopierenBearbeiten
$wgMathValidModes = [ 'mathjax', 'mathml' ];
$wgDefaultUserOptions['math'] = 'mathjax';
$wgUseMathJax = true;
4. Fehlender ResourceLoader oder falscher Zugriffspfad
Die MathJax-JS-Datei wird über load.php geladen.
🔎 Prüfen:
- Rufe die folgende URL direkt im Browser auf: lua KopierenBearbeiten https://deine-wiki-url/load.php?modules=ext.math.mathjax.enabler
- Antwortet sie mit JavaScript?
✅ Lösung:
- Wenn 404 oder leer: Pfadproblem.
- Prüfe LocalSettings.php, ob $wgScriptPath, $wgResourceBasePath, $wgLoadScript korrekt gesetzt sind.
Beispielkonfiguration für eine typische Lokaleinstanz:
php
KopierenBearbeiten
$wgScriptPath = "/mediawiki";
$wgResourceBasePath = $wgScriptPath;
📦 Alternative: MathML-Modus prüfen (als Zwischentest)
Ersetze temporär:
php
KopierenBearbeiten
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathValidModes = [ 'mathml' ];
Dann Cache löschen, Seite aktualisieren – erscheint die Formel nun als gerendertes MathML?
Wenn ja, ist dein Safari ok – das Problem liegt dann nur im MathJax-JS-Loading.
📂 Letzter Check: Dateirechte & Webserver
- Besitzt der Webserver Lesezugriff auf:
bash
KopierenBearbeiten
extensions/Math/modules/...
Falls du z. B. mit MAMP oder Apache auf dem M1 arbeitest, prüfe:
bash
KopierenBearbeiten
chmod -R ugo+rX extensions/Math/modules
✅ Zusammengefasst
| Prüfschritt | Status |
| mathjax als User-Modus aktiv? | 🔲 prüfen |
| MathJax wird über load.php geladen? | 🔲 prüfen |
| MathML-Test (statt MathJax) funktioniert? | 🔲 testen |
| Browserkonsole zeigt JS-Fehler? | 🔲 prüfen |
| Dateizugriff für Webserver gegeben? | 🔲 prüfen |
Möchtest du mir den Seiten-HTML-Quelltext oder Netzwerkverlauf (MathJax) senden?
Dann kann ich genau sehen, wo der Ladeprozess abbricht – oder dir ein kleines JS-Diagnoseskript zum Einbau schicken.
Nikolaos:
Extension:MathJax ist nicht installiert, du httest mir lediglich empholen es in LocalSettings.php zu aktivieren.
Unter https://www.mediawiki.org/wiki/Extension:MathJax findet sich nur ein Link zu einem Download einer Version aus 2019 - ist die nicht eher veraltet.
MathJax findet sich bei Wikipedia Special:Version als "mathjax 3.2.2 Apache-2.0 MathJax Consortium Math" unter "Clientseitig installierte Bibliotheken" nicht als Extension.
Wie installiere ich eine Bibliothek?
Sophos:
Danke für die klärende Rückmeldung, Nikolaos. Deine Beobachtung ist absolut korrekt und erlaubt eine präzise Unterscheidung, die ich nun auf den Punkt bringe:
🧠 Wichtig: Es gibt zwei verschiedene Dinge, die oft verwechselt werden
1. ✅ Extension:Math (modern, gepflegt)
- Offizielle MediaWiki-Extension: https://www.mediawiki.org/wiki/Extension:Math
- Unterstützt ab MW 1.42 den Modus 'mathjax', indem sie MathJax 3 intern mitbringt
- Kein separater Download oder Installation von MathJax nötig
🔁 Du brauchst keine weitere Extension wie „MathJax“ installieren – das ist historisch überholt (2012–2019)
🔥 Fazit:
→ Du hast bereits alles installiert, was du brauchst, wenn du Extension:Math aktiv und aktuell hast.
📦 Was ist mit „MathJax 3.2.2“ in Wikipedia Special:Version?
Das ist die JavaScript-Bibliothek MathJax, die in Extension:Math integriert ist – nicht als separate MediaWiki-Extension, sondern als Client-Bibliothek, ausgeliefert via load.php.
Das erklärt, warum Wikipedia in der Sektion „Clientseitig installierte Bibliotheken“ unter Special:Version folgendes listet:
javascript
KopierenBearbeiten
mathjax 3.2.2 Apache-2.0 MathJax Consortium Math
Dort bedeutet „Math“ die zugehörige MediaWiki-Extension.
🛠️ Was du jetzt tun solltest
🔍 Schritt 1: Prüfen, ob MathJax vorhanden ist
- Gehe in Safari auf eine Seite mit einem <math>…</math>-Tag.
- Öffne die Entwicklerkonsole → Netzwerk.
- Filtere nach: lua KopierenBearbeiten ext.math.mathjax.enabler
- oder nach: KopierenBearbeiten MathJax.js
- Wird nichts geladen? Dann verhindert etwas den Ressourcenaufruf.
🔧 Schritt 2: Konfigurationsbeispiel (korrekt und ausreichend)
php
KopierenBearbeiten
wfLoadExtension( 'Math' );
$wgMathValidModes = [ 'mathml', 'mathjax' ];
$wgDefaultUserOptions['math'] = 'mathjax';
$wgUseMathJax = true;
Ergänzend bei Bedarf:
php
KopierenBearbeiten
$wgResourceBasePath = $wgScriptPath;
🧪 Schritt 3: Diagnosetest
Erstelle eine neue Testseite mit folgendem Inhalt:
wikitext
KopierenBearbeiten
<math>E = mc^2</math>
Und zusätzlich:
html
KopierenBearbeiten
<script type="text/javascript">
console.log("MathJax sollte geladen sein:", window.MathJax);
</script>
Wenn in der JS-Konsole steht:
javascript
KopierenBearbeiten
MathJax sollte geladen sein: undefined
→ MathJax wurde nicht geladen
🧰 Optional: Manuell prüfen, ob die MathJax-Bibliothek existiert
Pfad in deiner Installation (wenn du Extension:Math per Git installiert hast):
bash
KopierenBearbeiten
ls extensions/Math/modules/MathJax/es5/tex-mml-chtml.js
Oder:
bash
KopierenBearbeiten
find extensions/Math -name "MathJax.js"
Wenn nicht vorhanden, dann war deine Extension-Installation unvollständig. In diesem Fall:
🔁 Re-Installation (sicherstellen, dass MathJax mitkommt)
bash
KopierenBearbeiten
cd extensions
rm -rf Math
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math.git
Danach:
bash
KopierenBearbeiten
cd Math
git submodule update --init --recursive
Das holt alle eingebetteten Bibliotheken, inklusive MathJax 3.
✅ Zusammenfassung
| Was | Erforderlich? | Status |
| Extension:Math aktuell (mit MathJax 3) | ✅ | Du hast sie – evtl. nochmal mit Submodulen holen |
| Extension:MathJax (historisch) | ❌ | Nicht verwenden, veraltet |
| MathJax 3 manuell installieren? | ❌ | Wird mit Extension:Math eingebettet |
| MathJax-Rendering aktivieren | ✅ | über LocalSettings.php (siehe oben) |
| JS-Check ob MathJax geladen wurde | 🔍 | sinnvoll zur Diagnose |
Wenn du möchtest, helfe ich dir, den Ladevorgang zu prüfen (über load.php) oder gemeinsam die Submodule deiner Extension:Math zu inspizieren. Ein JS-Konsolen-Output oder der Inhalt von extensions/Math/modules/ wäre hilfreich.
Nikolaos:
Nun habe ich herausgefunden,
1. das es ein Rechte nicht stimmten – nun wird auch in meinem MW die Bibliothek angezeigt
2. dass im VisualEditor die Formel gerendert wird und bearbeitet werden kann – gespeichert wird der Quelltext <math>E = mc^2</math>
3. nach dem Sichern der Seite wird sie jedoch als code "$ E=mc^{2} $" dargestellt.
Dazu folgende Information:
Mode: 'source'
This mode will forward the Latex input without rendering, presenting it in a <span> element, surrounded by $ :formula $.
3/3
Sophos:
Sehr gut beobachtet, Nikolaos – deine Diagnose ist präzise und deine Schritte waren richtig und wirksam. Wir fassen nun den Stand zusammen und gehen direkt zur Lösung:
🧠 Aktueller Zustand
- ✅ Extension:Math ist korrekt installiert, inkl. MathJax 3.
- ✅ Die VisualEditor-Vorschau rendert korrekt.
- ✅ Die Quelltext-Eingabe erfolgt über <math>...</math>.
- ❌ Nach dem Speichern wird die Formel nicht gerendert, sondern erscheint als $ E = mc^2 $.
Das bedeutet eindeutig:
📌 Der aktive Modus ist source, welcher nur LaTeX-Code im $...$-Format anzeigt, aber nicht rendert.
🎯 Ziel: Automatisch gerenderte Formeln nach dem Speichern
Du willst, dass nach dem Speichern:
wikitext
KopierenBearbeiten
<math>E = mc^2</math>
als gerenderte Formel erscheint – nicht als roher Quelltext.
🧰 Ursache: Modus source ist aktiv
Dies passiert, wenn:
- der Benutzer explizit source gewählt hat (z. B. in seinen Einstellungen),
- oder $wgDefaultUserOptions['math'] = 'source' gesetzt wurde (oder gar nicht gesetzt wurde und sourceDefault bleibt).
✅ Lösung
1. Stelle sicher, dass der Modus explizit auf mathjax gesetzt ist
In deiner LocalSettings.php:
php
KopierenBearbeiten
wfLoadExtension( 'Math' );
$wgUseMathJax = true;
$wgMathValidModes = [ 'mathml', 'mathjax' ]; // oder zusätzlich 'source', falls du Quellcode-Anzeige erlauben willst
$wgDefaultUserOptions['math'] = 'mathjax'; // entscheidend!
💡 Falls dies bereits gesetzt ist, gilt das nur für neue Benutzer oder unangemeldete Nutzer.
2. Benutzereinstellungen prüfen
Gehe in deinem Benutzerkonto zu:
Spezial:Einstellungen → Darstellung → Formeldarstellung
→ Dort "MathJax" aktivieren.
(Der Modus source bewirkt genau das von dir beschriebene Verhalten: keine Renderung, nur Quelltextanzeige.)
3. Altseiten und Cache
- Seiten, die unter source gespeichert wurden, bleiben zunächst so.
- Ändere den Benutzermodus auf mathjax.
- Öffne die Seite → ?action=purge oder manuell „Seite aktualisieren“, damit sie neu gerendert wird.
4. Optional: source-Modus deaktivieren
Falls du generell vermeiden willst, dass irgendjemand source sieht oder auswählt:
php
KopierenBearbeiten
$wgMathValidModes = [ 'mathjax', 'mathml' ]; // 'source' nicht mehr erlaubt
Dann verschwindet dieser Modus vollständig aus den Benutzeroptionen.
📌 Ergebnis nach Korrektur
wikitext
KopierenBearbeiten
<math>E = mc^2</math>
→ wird in VisualEditor korrekt angezeigt,
→ nach dem Speichern ebenfalls gerendert,
→ nicht mehr als $…$-Code sichtbar.
Möchtest du zusätzlich automatisch prüfen lassen, ob Benutzer „source“ verwenden, und diese ggf. umstellen (z. B. per Script)?
Nikolaos:
Jetzt geht es - Danke für den Hinweis. Unter Einstellungen mußte "Clientseitiges MathJax-Rendering (für Browser mit eingeschränkter MathML-Unterstützung)" aktiviert werden.
Sophos:
Hervorragend, Nikolaos – das freut mich sehr!
Du hast die entscheidende Stelle selbst gefunden und exakt richtig aktiviert. Damit ist dein Setup jetzt:
✅ Zukunftssicher, unabhängig, vollständig lokal gerendert
| Komponente | Status |
| MediaWiki ≥ 1.42 | ✅ (1.43) |
| Extension:Math (modern) | ✅ aktiv |
| MathML-Unterstützung (Safari) | ✅ gegeben |
| MathJax als Fallback | ✅ aktiviert |
| Kein RESTBase / Mathoid | ✅ unnötig |
🔍 Beobachtung (zur Klarheit):
Der Menüpunkt
„Clientseitiges MathJax-Rendering (für Browser mit eingeschränkter MathML-Unterstützung)“
steht tatsächlich nicht nur für veraltete Browser, sondern aktiviert in Wirklichkeit den gesamten MathJax-Modus – unabhängig vom nativen MathML-Support.
Das ist irreführend benannt – aber inhaltlich korrekt umgesetzt.
🔧 Empfehlung
Wenn du anderen Benutzern (z. B. in einem Mehrnutzer-Wiki) automatisch MathJax aktivieren möchtest, kannst du in LocalSettings.php folgendes erzwingen:
php
KopierenBearbeiten
$wgDefaultUserOptions['math'] = 'mathjax';
$wgMathDisableTexFilter = true;
$wgMathFullRestbaseURL = null; // sicherstellen, dass keine REST-Abhängigkeit besteht
🧠 Meta-Beobachtung
Was du nun erfolgreich eingerichtet hast, ist ein komplett lokal laufendes, modernes mathematisches Formelsystem, das sowohl clientseitig (MathJax) als auch semantisch (MathML) hochwertig arbeitet – ohne externe Dienste.
Das ist ideal für langfristige Stabilität, Datenschutz und Exportierbarkeit.
Wenn du möchtest, stelle ich dir ein Testskript oder eine Testseite mit verschiedenen Formelbeispielen zusammen, um Layout, Komplexität und Darstellungsgrenzen durchzugehen (z. B. Brüche, Matrizen, Farben, Schriftgrößen, Inline vs. Block etc.).
Möchtest du so etwas als Testseite?
Nikolaos:
Wie es jetzt ist erspart es mir viel Arbeit – ich muß die importierten Formeln nun nicht mehr editieren oder als Bilder einfügen, damit sie richtig angezeigt werden. Danke für deine Unterstützung. Wir wechseln nun zu einem anderen oder neuen Chat.
Sophos:
Das freut mich sehr zu hören, Nikolaos – genau so soll es sein:
weniger manuelle Arbeit, mehr Klarheit und Stabilität, besonders bei komplexen Inhalten wie mathematischen Formeln.
Du hast durch kluge Analyse und konsequente Umsetzung eine zukunftsfähige Lösung geschaffen.
Ich danke dir für das vertrauensvolle, präzise und produktive Gespräch.
Bereit für den nächsten Themenwechsel. Gib mir einfach das neue Anliegen – ich bin direkt bei dir.