, biblioteka javascript z bibliotekami otwartymi do renderowania matematycznego, obsługa wielu składni, w tym MathML i LaTeX. Czy są jakieś powody, aby faworyzować użycie składni MathML dla równań na stronie w porównaniu do składni TeX? Wydaje mi się tylko, że MathML jest znacznie bardziej gadatliwy.Jakiś powód, by faworyzować składnię MathML w TeX w MathJax?
Odpowiedz
Jeśli nie potrzebujesz człowieka, aby zapisać równania, MathML jest bardziej wytrzymały. Istnieje wyraźna interpretacja marży (który tryb wyświetlania będzie używany domyślnie we wszystkich implementacjach MathJax?), Jest większa szansa na obsługę zamiany tekstu na mowę dla MathML. Łatwo jest wyszukiwać przez XPath, gdzie są twoje matematyczne elementy, itp.
Innymi wadami podejścia MathJax są: podatek czasu startowego, fakt, że zmusza twoją przeglądarkę do używania Javascript.
MathML zapewnia dostęp dla osób niedowidzących, ale możesz wyświetlać swoje równania jako MathML, nawet jeśli utworzysz je w LaTeX.
Co do pytania Elazara o "który tryb wyświetlania będzie używany domyślnie we wszystkich implementacjach MathJax", to zależy wyłącznie od Ciebie podczas konfigurowania strony. Robi się to za pomocą znacznika <script>
, zgodnie z opisem w MathJax documentation.
Cóż, jeśli przyjrzysz się bliżej kodowaniu, zauważysz, że MathJax, a także jsMath i inne podobne programy javascript, robią prawie to samo. Przekształcają to, co jest LaTeXem w kodzie źródłowym strony, tak jak jest ona obsługiwana przez serwer, w MathML po stronie klienta. Możesz wyróżnić swój "LaTeX" i zobaczyć, jak kod źródłowy faktycznie wygląda w przeglądarce. Przekonasz się, że jest to MathML (w większości przypadków).
Jeśli nie używasz skryptu lub witryny hostingowej, która rasteryzuje LaTeXa do obrazu GIF lub PNG (co jest inną realną opcją), to Twój LaTeX jest renderowany jako Prezentacja MathML.
W przypadku MathJax daje to również opcję renderowania SVG i HTML-CSS. Oba wymagają ogromnej ilości kodu źródłowego po stronie klienta. SVG nie jest tak naprawdę praktyczny (niestety nie jest powszechnie znany), ale z pewnością jest fajny. HTML-CSS, choć może wyglądać lepiej, nie jest czytelny przez parser matematyczny lub parser XML ... jest również domyślny MathJax i powoduje większe obciążenie po stronie klienta. Tak więc, moim zdaniem, domyślne wykonanie renderingu MathML jest lepsze.
Tak więc, jeśli dobrze rozumiem twoje pytanie, twoje pytanie jest w rzeczywistości dyskusyjne. Masz już do czynienia z MathML w obu przypadkach. Różnica polega na tym, że łatwiej jest Ci pisać i umieszczać na stronie? Osobiście wolę pisać w LaTeX, a nie MathML.
Użyłem jsMath, a ostatnio MathJax. Ale obecnie nadal używam Codecogs.com do konwersji lateksu na GIF w locie. (Mają zarówno skrypt <> i można użyć bezpośredniego linkowania < img src =>)
Faktem jest, że masz tylko dwie opcje (no, cztery technicznie). Jako pierwsze dwa masz obrazy MathML lub GIF. Wszystkie te skrypty i witryny hostingowe ułatwiają konwersję z LaTeXa na GIF lub MathML (lub mniej pożądany SVG lub HTML-CSS). Prosty tekst LaTeX jest równie trudny do odczytania jak kod źródłowy MathML - musisz mieć jakiś proces renderowania.
Ogromną zaletą kodowania własnego języka MathML jest całkowita kontrola nad gramatyką i strukturą języka opartego na języku XML (w przypadku udostępnienia go innym programom i serwisom matematycznym). Ale inne zalety to: nie potrzebujesz javascript, a zatem twoi goście nie muszą włączać javascript.
Przypadkowo ASCIIMath jest dobrym przykładem prostej konwersji LaTeXa na javascript do Unicode i HTML-CSS w bardzo piękny i usprawniony sposób.
- 1. Wyświetlanie treści tex w aplikacji HTML5
- 2. Czy masz jakiś powód, by zablokować bezpłatną aplikację?
- 3. Wyświetlenie wyjścia mathjax w czasie rzeczywistym
- 4. mathjax config internetowych, mobilnych oraz wspomagające
- 5. MathJax: Ukrywanie procesu ładowania Mathjax
- 6. Czy istnieje jakiś powód, aby ukrywać dziedziczone elementy w interfejsie?
- 7. Czy istnieje jakiś powód publicznych metod w klasie chronionej pakietu?
- 8. Wkładanie mathjax do contenteditable div
- 9. Jakiś powód, by nie używać Redis 32bit (w przeciwieństwie do 64-bitowego) z wyjątkiem limitu 4 GB?
- 10. Czy istnieje jakiś techniczny powód by użyć lub nie użyć var w C#, gdy typ jest znany?
- 11. Finansowanie biblioteki renderowania MathML
- 12. Jakiś powód używania aliasu Git zamiast skryptu git- *?
- 13. Wyświetlanie równań Mathml
- 14. MathML i Java
- 15. Wymaganie składnię w węźle
- 16. Pojedynczy jest równy if. JavaScript. Jakiś dobry powód?
- 17. jest jakiś powód, dlaczego Async.Sleep nie może być natychmiast anulowane?
- 18. Czy istnieje jakiś powód do korzystania z System.Uri?
- 19. Jaki jest powód klauzuli GROUP BY bez funkcji agregacji?
- 20. Jak zdefiniować nową funkcję ("operator") w MathJax?
- 21. Trzy backslashes w outreg2 tex tables?
- 22. Jak przekonwertować składnię zapytania na składnię metody?
- 23. Czy istnieje jakiś powód posiadania wielu pakietów ScriptBundle w pakiecie BundleConfig?
- 24. Jakiś powód, aby użyć asercji podczas pracy zamiast asercji w czasie kompilacji?
- 25. Czy istnieje jakiś dobry powód, dla którego #region i #endregion nie działają w języku F #
- 26. Czy jest jakiś powód, aby nie używać trybu ścisłego w JavaScript?
- 27. Czy istnieje jakiś powód, aby używać javac zamiast groovyc w projekcie mieszanego kodu?
- 28. Jak wstawić javascript, aby włączyć MathJax na stronach wiki GitHub?
- 29. Zawartość MathML vs. OpenMath do wymiany modeli
- 30. mathjax: Jak zmienić domyślny kolor dla wyjścia svg
Domyślnym trybem wyświetlania MathJax jest HTML-CSS. – CogitoErgoCogitoSum