SeyrüseferSeyir DefteriMühendislik → Cebir İfâdeleri İçin

Cebir İfâdeleri İçin

Seyir Defteri - Mühendislik
Pazar, 26 Şubat 2017

CebirUzun zamandır site için ihtiyaç duyulan durumlarda kullanabilmek üzere cebir ifadelerini verimli bir şekilde html üzerinde düzenleyip yayınlayabilmek ve gerektiğinde kolayca değiştirebilmek için uygun bir altyapı seçmeye çalışmakla birlikte senelerdir kesin bir karar verememiştim.

Bu ihtiyacın çözüme kavuşturulmamış olması sebebiyle bazı konular hiç ele alınamıyordu bile. Aslında çeşitli seçenekler de yok değildi. Mesela MathML [3] pek çok açıdan gayet iyiydi fakat sadece firefox gibi gecko tabanlı tarayıcılar tarafından desteklenmesi ve senelerdir bu durumun devam etmesi söz konusuydu.

Her ne kadar bu genelağ sitesi uyumluluk ve performans açılarıdan açık kaynaklı firefox öncelikli olacak şekilde geliştiriliyor olsa da ziyaretçilerin önemli bir bölümü farklı tarayıcılar kullandığı için MathML seçeneği ister istemez devre dışı kalmıştı. İkinci seçenek resim tabanlı yöntemler olarak görülebilirdi ama bunları verimli ve kullanışlı olarak nitelemek biraz zordur.

Üçüncü önemli seçenek ise MathJax [2] idi. Fakat sitede javascript kullanmaktan hoşlanmadığım için (ki bugüne kadar sitenin hiçbir bölümünde javacsript, flash ve hatta tek bir çerez mevcut değildi) bu seçenekten çoktandır uzak durmuştum. Ama ihtiyaç iyice artar hâle gelince mecburen javascript kullanmayı kabûl etmek gerekli hâle geldi.

KaTeX\KaTeX

Bu arada MathJax sonrasında daha yeni benzer bir açık kaynaklı ürün daha ortaya çıktı: KaTeX. KaTeX'in [4] yetenekleri henüz MathJax kadar gelişmiş olmasa da rakibinden çok daha hızlı çalışığı bilinen bir husustu. Bunun yanında hem LaTeX hem de MatML tabanlı denklemlerle rahatça çalışabiliyordu.

Aslında KaTeX'in güzel bir özelliği daha vardı ve denklemleri sunucu tarafında işleyip ziyaretçinin tarayıcısında javascript çalıştırmadan kullanabilmek de mümkündü. Fakat bu işlem için gereken node.js altyapısının sunucuya kurulması ve güvenlik açısından devamlı izlenmesi ihtiyacı için gereken zaman ve emek daha faydalı alanlarda kullanılabilirdi.

Ayrıca gelecekte site içeriğindeki bazı belgelerin pdf'ye dönüştürülmesine yönelik olarak yapılacak çalışmalar için LaTeX'in tercih edilmesi ve KaTeX'in de doğrudan LaTeX uyumlu olarak çalışabilmesi vesaire gibi etkenlerle birlikte Üsküdar Mühendishanesinde bundan böyle cebir ifadelerinin gösterilmesi için açık kaynaklı KaTeX altyapısının kullanılmasına karar verildi.

Yerel sunucuda ciddi bir sıkıntı çıkmasa da ilk denemeler için böyle bir sayfa oluşturuldu. Gerçek şartlarda da herhangi bir çözülemeyen sorun ortaya çıkmaz ise KaTeX sisteminin bundan böyle kullanılması ve daha önce ele alınamayan bazı konuların değerlendirilebilmesi de gelecekte mümkün olabilir...

KaTeX ile mesela şöyle bir cümle içi gösterim ... şeklinde kolayca gerçekleştirilebilir görünüyor. Veya bir iki örnek daha vermek gerekirse; ... ya da $\sum_{i=1}^\infty\frac{1}{n^2}=\frac{\pi^2}{6}$ vesaire gibi. Aşağıdaki diğer denemeler ise auto-render ile gerçekleştirildi. Farkedilebileceği gibi hâlen bazı küçük sorunlar da mevcut.


$$ \sum_{i=1}^\infty\frac{1}{n^2}=\frac{\pi^2}{6} $$


$$ \lim_{{{x}\to{0}}}={f{{\left({x}\right)}}}'={2}{x}+{5} $$


$$ Z = \frac{(k+1)((k+1)+1)}{2} $$


$$ \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) $$


$$ k_{n+1} = n^2 + k_n^2 - k_{n-1} $$


$$ \int u \frac{dv}{dx}\,dx=uv-\int \frac{du}{dx}v\,dx $$


$$ \oint \vec{F} \cdot d\vec{s}=0 $$


$$ \begin{aligned} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y - xz \\ \dot{z} & = -\beta z + xy \end{aligned} $$


$$ \mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix} $$


$$ f(n) = \begin{cases} \frac{n}{2}, & \text{eger } n\text{ cift ise} \\ 3n+1, & \text{eger } n\text{ tek ise} \end{cases} $$


$$ \Large\sqrt[n]{1+x+x^2+x^3+\ldots} $$


$$ \Large\begin{pmatrix} a_{11} & a_{12} & a_{13}& a_{14} & a_{15}\\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25}\\ a_{31} & a_{32} & a_{33} & a_{34} & a_{35} \end{pmatrix} $$

♦ Kaynaklar

1. LaTeX - https://www.latex-project.org/
2. MathJax - https://www.mathjax.org/
3. MathML - https://www.w3.org/Math/
4. KaTeX - https://khan.github.io/KaTeX/
 







Telif Hakkı © 1997-2017 [uskudar.biz] - sürüm 5.5.1 - Bütün Hakları Saklıdır. Kullanım şartları için tıklayın!
Joomla! GNU/GPL lisansı altında özgür bir yazılımdır.