Gönderen Konu: Forumda Latex Kullanımı  (Okunma sayısı 10490 defa)

Çevrimdışı geo

  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 2.633
  • Karma: +9/-0
Forumda Latex Kullanımı
« : Eylül 01, 2012, 08:00:00 ös »
http://custom.simplemachines.org/mods/index.php?mod=2867
adresinde sitede LaTeX kullanmak için bir smf (simple machines forum) eklentisi var.

Her formülü satır başında yazıyor.
Satır içerisinde de kullanmak için eklentiyi biraz değiştirdim.
Bu durumda birkaç sorun çıktı; ama genel haliyle olup biteni ekte görebilirsiniz.
Ayrıca yaptığım değişikliği de ekte gönderiyorum.
« Son Düzenleme: Mayıs 03, 2015, 04:36:36 ös Gönderen: geo »

Çevrimdışı geo

  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 2.633
  • Karma: +9/-0
Ynt: Forumda Latex Kullanımı
« Yanıtla #1 : Eylül 02, 2012, 01:27:59 öö »
http://www.mathjax.org/docs/platforms/index.html diye bir şey varmış.


Kod: [Seç]
[math]x^2-4x+4 = 0 \Rightarrow x - 2 = 0 [/math] şeklinde kullanılan bir Simple Machines Forum plugini oluşturdum.
Bir önceki post'ta jstex adında mevcut olan bir plug'ini modifiye etmiştim. jstex resim tabanlı çalışırken, mathjax javascript tabanlı çalışıyor.
Yukarıda bu ikisinin de kullanımını aktardım. geomania'ya mathjax desteği eklemeyi düşünürseniz yardımcı olabilirim.
« Son Düzenleme: Eylül 02, 2012, 01:33:31 öö Gönderen: bosbeles »

Çevrimdışı Mathopia

  • Administrator
  • G.O Demirbaş Üye
  • *********
  • İleti: 222
  • Karma: +10/-0
Ynt: Forumda Latex Kullanımı
« Yanıtla #2 : Eylül 02, 2012, 11:24:34 öö »
Değerli hocam ilgilendiğiniz için teşekkürler. Bunların tamamından haberdarız. Forumun hazır bir forum olması güncellemeler sonrası bazı eklentilerin kullanılmaz hale gelmesi nedeniyle geçmiş yıllarda bir takım sıkıntılar çektik bu nedenle çok fazla üyemizin kullanmayacağı bu eklentiyle ilgilenmiyoruz.Şu var ki forumumuzun editöründen matematiksel ifadeleri seçip (mathtype gibi) yazmalarını da sağlayabiliriz ancak dikkat ederseniz biz forumun temasını bile default kullanmak taraftarıyız. Bu nedenle yazılanları önümüzdeki yıllara sağlıklı bir şekilde aktarmak için sizinde farketmiş olduğunuz bazı yeniliklerden uzak kalmayı tercih ediyoruz.

Teşekkürler.

Çevrimdışı geo

  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 2.633
  • Karma: +9/-0
Ynt: Forumda Latex Kullanımı
« Yanıtla #3 : Kasım 26, 2012, 01:51:40 öö »
Bu tartışmayı hortlattığım için özür dileyerek başlıyorum söze.
Herhangi bir html sayfasına aşağıdaki kodu yazdığınızda, sayfanıza mathjax desteği eklemiş olursunuz.
Kod: [Seç]
<script type="text/x-mathjax-config;">
  MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
  inlineMath: [ ["$","$"]],
  displayMath: [ ["$$","$$"]],
  processEscapes: true
},
asciimath2jax: {
  delimiters: [["`","`"],["qq","qq"]]
},
"HTML-CSS": { availableFonts: ["TeX"], scale: 110 }
 });
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>';

http://jsfiddle.net/7GZtg/2/ adresinde örnek canlı bir editör bulabilirsiniz.

Mathjax'ın AoPS'nin kullandığı LaTeX çözümünden farklarını sıralayayım.
1. AoPS, her $$ bloğu için bir resim oluşturuyor. Sürekli sunucuda, o resimleri tekrardan üretiyor. Aslında burada bir iyileştirme yapıp, son ve sık kullanılan resimleri fiziksel olarak sunucu hafızasında tutuyor. Yani oluşturulan resimler sunucuda yer ve işlemci kaybına neden oluyor.
2. Oluşturulan matematiksel ifadeler resim olduğu için sayfaya zum yapıldığında, resimler bozulur.
3. LaTeX üreten programlarda sorun çıkınca sunucu hataları gelebilir.

Mathjax resim çıktıları üretmek yerine text (yazı) üretir.
Yazı tipinde olduğu için sayfaya zum yaptığınızda, bozulma olmaz. (Akıllı telefonların zum özelliğini düşünün.)
Bunu kullanıcı tarafında yapar. Sunucuya yük olmaz.
Mathjax'da kullanıcının bilgisayarına $x^2-4x+4$ ifadesi kesinlikle gelir.
Kod: [Seç]
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>';Yukarıdaki adreste belirtilen javascript kodu, kullanıcının bilgisayarına tarayıcı tarafından çekilir ve çalıştırılır. Bu durumda sunucu hataları olası değil.
Tek olası irtibatsızlık, http://cdn.mathjax.org sitesine bağlantı kurulamaması. Bunun için belirtilen adresteki javascript dosyasını kendi sunucunuza kopyalayabilirsiniz.
Bu durumda böyle bir sorun kalmaz. Ama, bu tarzda siteler, sürekli çalışan, güvenilir sitelerdir. Yüzde 99 sorun olmaz. Eğer kendi sunucunuzdaki kopyayla çalışırsanız, kullanıcılar bu dosyayı her çekmek istediğinde, sunucunuzun bandwidth'inden düşer. Ayrıca, cdn tarzında sitelerin bağlantı hızları, sizin sunucunuzun bağlantı hızından çok daha iyi olduğu için, bu yöntem günümüzde çokça kullanılmakta.

Mathjax'ın çok sağlam sponsorları var. Wordpress, Drupal, Wiki tarzı içerik oluşturucular MathJax kullanıyor. Matematik sorusu sorma sitesi http://math.stackexchange.com/ da MathJax kullanıyor.
Yani kısacası, tek başına MathJax, Matematik yazma problemini büyük ölçüde ortadan kaldırıyor.

Şimdi gelelim, Simple Machines Forum'a MathJax desteği ekleme işine.
SMF geliştiricileri,
Kod: [Seç]
echo '<script type="text/x-mathjax-config;">
  MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
  inlineMath: [ ["$","$"]],
  displayMath: [ ["$$","$$"]],
  processEscapes: true
},
asciimath2jax: {
  delimiters: [["`","`"],["qq","qq"]]
},
"HTML-CSS": { availableFonts: ["TeX"], scale: 110 }
  });
</script>
<script type="text/javascript"
   src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML">
</script>';
kodunu "Sources" klasörü altındaki "Subs.php" dosyasına eklerlerse, SMF'ye MathJax desteği gelmiş olacak. SMF bir matematik forumu olmadığı için, bu desteği açılıp-kapanabilir yapması lazım, vs. Nihayetinde, böyle bir destekleri yok.
Ben, deneme amaçlı olarak SMF'yi indirdim. Subs.php dosyasında bahsettiğim değişikliği yaptım. Çok güzel çalışıyor.
Herkes bu şekilde değişiklik yapamayacağı için SMF, plugin (mod ya da eklentiler, her neyse) diye bir konsept geliştirmiş.
Aslında olay çok basit, şu kodu, falanca dosyaya, falancadan önce/sonra yerleştir diye direktifler verirseniz. Bu bir modifikasyon paketi oluyor.
Bu paketler kolayca eklendiği gibi, aynı şekilde silinebiliyor, hatta her ihtimale karşı forumun yedeğini otomatik olarak alıyor SMF.
Bahsettiğim kodu, paket haline getirip ekte sundum.

MathJax ile sadece LaTeX formatında veri girişi yapmak zorunda değilsiniz.
ASCIIMath kullanarak da veri girişi yapabilirsiniz.
Bu veri girişlerini nasıl başlatacağınızı da kendiniz seçebiliyorsunuz.
Yukarıdaki kodda LaTeX tarzı giriş için $ $, LaTeX tarzı tüm satırı kaplayan giriş için $$ $$, ASCIIMath için ` ` ya da qq qq seçilmiş durumda.

Ekte gönderdiğim resimdeki matematik çıktısını üreten kodlar aşağıda listelenmiş durumda.
Bu arada yeri gelmişken sorayım. İletilerde eklenti olarak neden PNG ekleyemiyoruz. Bir resimde yazı varsa, PNG daha uygun bir resim formatıdır.

Kod: [Seç]
$A$ dan $BC$ ye çizilen paralel ile $BH$ doğrusu $J$ de keşissin.
$\angle BCA = \angle BAC = \angle HAJ = \pi/7$ dir. $HC=BC$ olduğu için $\angle BHC = 3\pi/7$ ve $\angle ABH = 2\pi/7 = \angle BAJ$, bu durumda paralellikten dolayı $HJ=k$ ise $BJ=AJ=AH=ak=k+1 \Rightarrow k=\dfrac{1}{a-1} \Rightarrow ak=\dfrac{a}{a-1}$ olur.

[img]http://localhost:7777/smf/index.php?action=dlattach;topic=7.0;attach=3;image[/img]
$\triangle BAC$ de $H$ ve $I$ noktaları için Stewart'ın özel halini uygularsak;
$a^2-\dfrac{a}{a-1}\cdot a = 1 \Rightarrow a^2\left( \dfrac{a-2}{a-1}\right) = 1 \Rightarrow a^3-2a^2=a-1$ ve
$a^2-\left(\dfrac{a}{a-1}+a-1\right)\cdot 1 = \dfrac{a^3-2a^2+a-1}{a-1} = \dfrac{a-1+a-1}{a-1} = 2 = x^2 \Rightarrow x=\sqrt 2$ elde ederiz.

Yukarıdaki LaTeX kodunun ASCIIMath karşılığı
Kod: [Seç]
`A` dan `BC` ye çizilen paralel ile `BH` doğrusu `J` de keşissin.
`\angle BCA = \angle BAC = \angle HAJ = \pi/7` dir. `HC=BC` olduğu için `\angle BHC = (3\pi)/7` ve `\angle ABH = (2\pi)/7 = \angle BAJ`, bu durumda paralellikten dolayı `HJ=k` ise `BJ=AJ=AH=ak=k+1 => k=1/(a-1) => ak=a/(a-1)` olur.

[img]http://localhost:7777/smf/index.php?action=dlattach;topic=7.0;attach=3;image[/img]
`\Delta BAC` de `H` ve `I` noktaları için Stewart'ın özel halini uygularsak;
`a^2-a/{a-1}\cdot a = 1 => a^2( {a-2}/{a-1}) = 1 => a^3-2a^2=a-1` ve
`a^2-(a/{a-1}+a-1)\cdot 1 = {a^3-2a^2+a-1}/{a-1} = {a-1+a-1}/{a-1} = 2 = x^2 => x=\sqrt 2` elde ederiz.
« Son Düzenleme: Mayıs 03, 2015, 04:39:41 ös Gönderen: geo »

 


Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 
SimplePortal 2.3.3 © 2008-2010, SimplePortal