กำลังโหลด

    กระทู้ที่ 0150
Limit
ตั้งกระทู้ใหม่

การพิมพ์สมการในบอร์ดตอบ: 15, อ่าน: 6369, แท็ก: พิมพ์สมการ, mimeTeX, เว็บบอร์ด

สวัสดีครับ คุณนวย ได้เข้ามาดูเวปนี้แล้วรู้สึกดีมาก ๆ เลย
คุณเจ๋งมาก ๆ ครับที่อุตส่าห์เขียน eBook แจกฟรี ๆ แถมยังมีเวปบอร์ดให้ถามตอบอีกต่างหาก

ตัวผมเองก็เป็นติวเตอร์วิชาฟิสิกส์+คณิตศาสตร์ ก็อยากทำเวปแนวนี้เหมือนกันครับ ผมจึงไปหาข้อมูลเกี่ยวกับการพิมพ์สมการในบอร์ดมา

เลยอยากจะเสนออีกทางเลือกหนึ่ง (ไม่ทราบจะเอามะพร้าวห้าวมาขายสวนหรือเปล่า)
คือ mimeTex ครับ ซึ่งจะทำการ render latex tag ให้กลายเป็นไฟล์รูปภาพโดยผ่าน cgi ครับ ซึ่งวิธีการนี้จะแก้ปัญหาเรื่อง font ไปได้ เพราะเป็นรูปภาพดังนั้นทุกคนในเวปจะเห็นเหมือน ๆ กันไม่ว่าจะใช้ browser อะไร  แล้วก็ไม่ต้องโหลด script นานด้วยครับ (กลายเป็นโหลดรูปนานแทน)

ดูรายละเอียดเพิ่มเติมได้ที่นี่ครับ
http://www.forkosh.com/mimetex.html

หรือถ้ามีข้อสงสัยอะไรลองถามผมก็ได้ครับ ถ้าเผื่อตอบได้ก็จะตอบ

ป.ล. ผมไม่รู้คุณอายุเท่าไหร่ เลยไม่รู้จะเรียกพี่หรือ เรียกน้อง ขอเรียกคุณไปก่อนละกัน
Ble 26/01/50 18:23 
ขอบคุณสำหรับคำแนะนำอันนี้นะครับ
ลองไปอ่านที่ลิงก์นี้ดูคร่าวๆ แล้วน่าสนใจมากๆ เลย
ไม่ต้องโหลดสคริปต์นาน และไม่ต้องห่วงเรื่องฟอนต์จริงๆ ด้วย.. 👍
เมื่อมีเวลาจะศึกษารายละเอียด และลองเปลี่ยนดูครับ

ป.ล. ผมเกิดปีวอก และอายุเกิน 2 รอบมานิดเดียวครับ 😁
นวย 29/01/50 00:16  [ 1 ] 
อ้อ.. อีกนิดนึงๆ อยากจะขอบคุณคำชื่นชมด้วยนะครับ
🤨 ลองเขียน E-Book ฟิสิกส์แจกดูบ้างสิครับ มีน้องๆ ถามไถ่มาเยอะมากๆๆ เลย
แต่ผมทำไม่ได้เพราะร้างลาไปนานแล้วครับ 🤕
นวย 29/01/50 00:19  [ 2 ] 
งั้นคนอายุไล่ ๆ กันครับ ผมเกิดปีมะแม 😁

เรื่อง mimetex เนี่ย ถ้า server run cgi ได้ และเราสามารถ access shell ของ server ได้ ก็ติดตั้งได้ไม่ยากครับ  ที่เหลือก็คือ modified code ของ board

เรื่อง eBook ฟิสิกส์ ก็กำลังทำอยู่ครับ (เพิ่งจะเริ่ม) อยากจะขอคำแนะนำเหมือนกันครับ ว่ามีเครื่องมืออำนวยความสะดวกอะไรเจ๋ง ๆ ไหมครับ แล้วใช้โปรแกรมอะไรพิมพ์ครับ Microsoft word หรือว่าตัวอื่น
Ble 29/01/50 05:29  [ 3 ] 
mimetex >> ตอนนี้มีปัญหาครับ.. เนื้อที่ใน server ที่ผมได้รับนี้เหลือไม่พอ เดี๋ยวจะไปลองที่อื่นดูครับ

E-Book >> ผมใช้ ms-word xp ล้วนๆ ครับ ทั้งพิมพ์ข้อความ, สมการ, และวาดรูปประกอบ
จากนั้นแปลงเป็น pdf โดย acrobat7

เครื่องมืออำนวยความสะดวกอย่างเดียวที่ผมใช้ คือ MathType อ่ะครับ
โดยวางสัญลักษณ์ที่ใช้บ่อยไว้บน bar <-- ระบายแล้วลากเข้าไปวางได้เลยครับ ถ้าจะแก้ปุ่มก็ดับเบิ้ลคลิก จะลบปุ่มก็คลิกขวา
และใช้ hotkey จะได้ไวๆ เช่น เศษส่วน=ctrl+f, ยกกำลัง=ctrl+h,
ตัวห้อย=ctrl+j, ทั้งยกทั้งห้อย=ctrl+k, รู้ท=ctrl+r,
เพิ่มขนาด=ctrl+shift+>, ลดขนาด=ctrl+shift+<, ฯลฯ


ส่วน tip การวาดรูปใน ms-word ให้สะดวกขึ้น
เท่าที่ผมนึกออกนะครับ ก็มี..

- ปรับขนาดวัตถุโดยใช้ปุ่ม shift, ctrl, alt (หรือกดหลายปุ่มพร้อมกัน) ช่วย
- ลากย้ายตำแหน่งวัตถุโดยใช้ปุ่ม shift, alt (หรือกดสองปุ่มพร้อมกัน) ช่วย
- เฟรมภาพควรเลือกเป็น "อยู่หน้าข้อความ" ครับ (เวลาทำ pdf ผลที่ได้จะชัวร์สุด
และจะได้ขยับตามข้อความไปด้วย เวลามีการพิมพ์แทรกด้านบนๆ)
- ถ้านึกอย่างอื่นออกอีกจะมาบอกครับ
นวย 29/01/50 14:15  [ 4 ] 
ตัวห้อย=ctrl+L, ทั้งยกทั้งห้อย=ctrl+j


เล้ง 29/01/50 19:45  [ 5 ] 
😁  พิมพ์ผิดครับ..
นวย 29/01/50 21:35  [ 6 ] 
ขอบคุณสำหรับคำแนะนำครับ
ผมมี host free มาแนะนำเหมือนกัน

เป็นของคนไทยนะครับ
http://www.icspace.net  ให้พื้นที่ 50 MB, PHP, MySQL  ยังเป็น version beta อยู่ รู้สึกจะ run cgi ไม่ได้
http://www.saiyaithai.org ให้พื้นที่ 35 MB, PHP, MySQL ดูเหมือนจะ run cgi ได้ แต่ผมเคยลองทำแล้วไม่เวิร์ค

ของต่างประเทศ
http://freeshells.ch
ให้พื้นที่ free กี่ MB จำไม่ได้ แต่ที่สำคัญคือ สามารถใช้ telnet/SSH shell access ได้ run cgi ได้

solution ที่ผมใช้ก็คือ
ผมติดตั้งระบบ cms + webboard ที่เวป icspace.net  ส่วน cgi run ที่ freeshells.ch ครับ
Ble 29/01/50 23:58  [ 7 ] 
ฟังดูยากๆ ดีแฮะ..
ผมไม่มีความรู้ทาง SQL, cgi เลยครับ เพราะเล่น php ล้วนมาตั้งแต่แรก
งานนี้ต้องรบกวนขอคำแนะนำครั้งใหญ่.. 😁😁
นวย 30/01/50 12:14  [ 8 ] 
ได้ครับ เดี๋ยวผมขอเวลาเรียบเรียงก่อนนะ
แล้วจะมาแนะนำขั้นตอนให้ครับ 😀
Ble 30/01/50 15:58  [ 9 ] 
กลับมาแล้วครับ ขอโทษที่หายไปนาน พอดีว่ายุ่ง ๆ อยู่

ขอแนะนำขั้นตอนดังนี้นะครับ

วิธีที่ผมใช้คือ ใช้ board สำเร็จรูปนะครับ จะเป็น phpBB หรือ SMF ก็ได้ (phpBB จะง่ายกว่า)
สำหรับ phpBB โหลดได้จาก http://www.phpbb.com/
สำหรับ SMF โหลดได้จาก  http://www.simplemachines.org/

สิ่งที่ต้องมี
1.server ที่สามารถใช้ฐานข้อมูล mySql ได้ ผมไม่แน่ใจว่าที่ se-ed ให้ใช้ได้ไหม ถ้าใช้ไม่ได้ก็คงต้องใช้ แผน2 คือ ปรับปรุงเวปบอร์ดตัวที่ใช้อยู่ปัจจุบันเอาเอง แต่ผมขอแนะนำแผน1 นี้ก่อน
2. [option] server ที่ใช้ cgi ได้

Ble 07/02/50 22:14  [ 10 ] 
ต่อนะครับ ขั้นตอนต่อไปคือการติดตั้ง mimetex

มี 3 ทางเลือก

1. ถ้าสามารถ compile source code ได้เอง และ server run cgi ได้ คือ เรามี account ที่จะ access shell ของ server ได้ ก็ให้ download ไฟล์ http://www.forkosh.com/mimetex.zip มา ทำการแตกไฟล์แล้ว upload ขึ้นไปที่ server
จากนั้นก็ remote access ไปที่ server แล้ว compile
โดยสั่ง cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi  จะได้ไฟล์ mimetex.cgi ออกมา แล้วนำไปไว้ใน directory ที่ run cgi ได้  ส่วนใหญ่จะชื่อว่า cgi-bin
ทดสอบว่าใช้ได้ไหม ด้วยการเรียกดูจากเวป browser  ดังนี้ http://yourdomain/cgi-bin/mimetex.cgi?x^2  ถ้าได้รูป x ยกกำลังสอง ออกมาก็แปลว่าใช้ได้

2. ถ้าเราไม่สามารถ compile source ได้เอง แต่ server ของเรา run cgi ได้ และเรารู้ว่าเครื่อง server ใช้ระบบปฏิบัติการอะไร ก็ให้ดาวโหลดไฟล์ ดังต่อไปนี้
จะเป็นไฟล์ที่ compile ไว้แล้ว
[windows] http://www.forkosh.com/mimetex.exe/windows/mimetex.zip
[linux] http://www.forkosh.com/mimetex.exe/linux/mimetex.zip
[freebsd]
http://www.forkosh.com/mimetex.exe/freebsd/mimetex.zip
[netbsd]
http://www.forkosh.com/mimetex.exe/netbsd/mimetex.zip
[sun/solaris]
http://www.forkosh.com/mimetex.exe/sun/mimetex.zip
[alpha]
http://www.forkosh.com/mimetex.exe/alphavms/mimetex.zip
[vax]
http://www.forkosh.com/mimetex.exe/vax/mimetex.zip

3. ทางเลือกนี้ง่ายที่สุดครับ ถ้าเราไม่สามารถ compile source ได้เอง และ server ก็ run cgi ไม่ได้ หรือ run ได้แต่ไม่รู้ว่าระบบปฏิบัติการอะไร หรือไม่รู้ว่าทำยังงัย  เราก็ไป run cgi ที่ server อื่นแทน  วิธีนี้เรียกว่า public mimetex
นี่คือ link ที่เราสามารถเรียกใช้ cgi ได้ครับ
http://www.forkosh.dreamhost.com/cgi-bin/mimetexpublic.cgi
ทดสอบได้โดยการเรียก link นั้น ต่อท้ายด้วย ? และ สูตรที่ต้องการ render
เช่น
http://www.forkosh.dreamhost.com/cgi-bin/mimetexpublic.cgi?\sqrt{x^2-y^2}

หรือจะใช้อันนี้ก็ได้ครับ ผมทำไว้เอง
http://freeshells.ch/~panupong/mimetex.cgi
Ble 07/02/50 22:35  [ 11 ] 

ข้อความนี้อาจมี html tag ที่ไม่อนุญาตให้แสดง
ต่อไปขั้นตอนการใช้ mimetex.cgi

concept

เราทำการส่ง สูตร ไปให้ mimetex.cgi มันจะแปลงเป็นไฟล์รูปภาพ .gif ให้เรา ดังนั้นวิธีใช้ง่าย ๆ คือ

1. สมมติว่าเราจะใช้ tag  [tex]สูตร[/tex] ในการสั่งให้ render สมการ ใน phpBB
2. ทำการดักจับข้อความที่อยู่ใน tag tex ในข้อ 1. ด้วยการ แก้ไฟล์ /includes/bbcode.php ดังนี้
หาข้อความ // Remove our padding from the string..  แล้วเพิ่ม code ไว้ก่อนหน้าบรรทัดนั้นดังนี้
$text = preg_replace('/\[tex\](.*?)\[\/tex\]/ie',
    "'<img src=\"/cgi-bin/mimetex.cgi?'.rawurlencode('$1').'\" align=\"middle\" />'",
    $text);

แค่นี้ก็เสร็จแล้วครับ
จะเห็นว่าขั้นตอนที่ 2 ก็คือการดักจับสูตร แล้วส่งไปให้ mimetex.cgi แล้วเราจะได้ url ของรูปภาพกลับมาใส่ใน tag img ซึ่งที่อยู่ของ mimetex.cgi ต้องระบุให้ถูกนะครับ
Ble 07/02/50 22:42  [ 12 ] 
โอ้.. พอเข้าใจแล้วครับ.. อย่างงี้ลองไม่ยากครับ
เดี๋ยวมีเวลาผมจะลองแก้โค้ดดูครับ
(รู้สึกว่าโมดิฟายโค้ดเว็บบอร์ดตัวเองนี่จะถนัดกว่า เพราะคงแก้แค่นิดเดียว และจะได้ไม่ต้องใช้ sql)

คิดว่าจะเปลี่ยนจากโยนค่าเข้าไปใน jsMath
ให้เป็นโยนค่าไปที่http://freeshells.ch/~panupong/mimetex.cgi ก่อนละกันครับ
(ยืมใช้ cgi หน่อยครับ.. อิอิอิ.. --> ระหว่างที่ผมยังไม่รู้ว่า se-ed.net รันได้ไหม..)

..ตอนนี้ผมมีอีกทางเลือกนึงด้วยครับ คือเพิ่งมานึกได้ว่า
jsMath ที่ใช้อยู่ก็แสดงเป็นรูปภาพได้ครับ
(เหมือน mimeTeX เลย.. ต่างกันตรงที่ไม่ได้รัน cgi แต่เป็นรัน javascript ในเครื่องผู้ใช้)
เพียงแต่ว่า server ไม่พอ ผมก็เลยใส่รูปฟอนต์ลงไปไม่ได้
เหตุผลเดียวกันกับที่ใส่ mimeTeX ที่นี่ไม่ได้ เลย.. 🤨
ถ้ามีโอกาส กะว่าจะลองใช้ jsMath ทำเป็นรูปดูด้วย เทียบกันว่าใช้ตัวไหนดีกว่ากัน

แล้วแผนสุดท้ายที่ดีแน่นอนคือ เอา flash มาครอบเว็บบอร์ดไว้
หรือไม่ก็ใช้โค้ดอะไรซักอย่างที่แนบฟอนต์มากับหน้าเว็บ
ทำให้เราใช้ฟอนต์อะไรก็ได้ในเว็บ โดยที่ผู้ใช้ไม่ต้องมีในเครื่อง..

โอยเขียนซะยาวเลยวันนี้..
ขอบคุณมากๆ อีกครั้งนึงครับพี่!

ป.ล. ตอนนี้การสอนของพี่รุ่งเรืองดีมั้ยครับ
เหลือเวลาทำ e-book บ้างมั้ยครับ :]
นวย 08/02/50 10:55  [ 13 ] 
ใช้ flash นี่ก็น่าสนใจนะครับ ถ้ามีเทคนิคอะไรน่าสนใจอย่าลืมเขียนแนะนำบ้างนะครับ

การสอนของผมก็ไปเรื่อย ๆ ครับ สอนตามตารางที่เค้าจัดมาให้  แต่ว่าทำงานอย่างอื่นด้วยหลายอย่าง เลยไม่ได้มีเวลาทำ e-book ซะที
Ble 10/02/50 07:58  [ 14 ] 
พอดีเพิ่งย้ายโฮส ก็เลยรัน cgi ได้แล้วครับ
ตอนนี้เว็บบอร์ดอันนี้เลยเปลี่ยนระบบแสดงผลสมการจาก jsMath
ไปเป็น mimeTeX เรียบร้อยแล้ว..

นี่เป็นวิธีที่ผมติดตั้งนะครับ เผื่อผู้ที่สนใจ
(1) โหลดไฟล์ http://www.forkosh.com/mimetex.exe/linux/mimetex.zip
ซึ่งเป็นเวอร์ชั่นที่คอมไพล์มาสำหรับ linux server (อันนี้แล้วแต่ server ของใครของมัน)
(2) แตกเอาเฉพาะไฟล์ mimetex.cgi ออกมา
ส่งไฟล์นี้ไปไว้ในไดเรคทอรี่ cgi-bin ในเซิร์ฟเวอร์ แล้วก็ทำการ chmod 755
(3) จากนั้นโมดิฟายเว็บบอร์ด เพื่อให้โยนค่าสมการ (ภายใน eq, eqi) ไปยัง cgi นี้
ในรูปแบบ <img src=http://xxxxxxxxx/mimetex.cgi?สมการๆๆๆ>

เท่านี้ก็ใช้งานได้เลยครับ.. 😄

ป.ล. กว่าจะได้โอกาสใช้ mimeTeX สักที กระทู้นี้ก็มีอายุถึง 1 ปีพอดีเลยแฮะ!!
ขอขอบคุณพี่ Ble อีกทีครับสำหรับคำแนะนำทั้งหมด :]
นวย 13/02/51 18:02  [ 15 ] 
วิธีพิมพ์สมการดูได้ที่กระทู้ 0072 ครับ      
แปะรูป/ไฟล์
ถ้าไม่มีรหัสส่วนตัว กรุณาใส่เลขหน้า "ความน่าจะเป็น" ใน Math E-Book .. หรือตั้งรหัสได้ ที่นี่

ทดลองพิมพ์สมการ