Very fat matrices (Matrix with more than 10 columns)

ใน amsmath นั้นกำหนดค่าสำหรับคอลัมน์สำหรับคำสั่งในการสร้างเมตริกซ์ไว้แค่ 10 คอลัมน์เท่านั้น
การจะเพิ่มจำนวนคอลัมน์นั้นทำได้โดยการกำหนดค่า MaxMatrixCols ให้เกินสิบ ดังนี้

\setcounter{MaxMatrixCols}{20}

เป็นอันเสร็จเรื่อง

Subordinate numbering sequences

ในบางครั้งในการเขียนสมการเราก็ต้องการจัดกลุ่มของสมการเช่น 1a 1b … 1e แทนที่จะเรียง
แบบ 1 2 … 5 ซึ่งแบบแรกจะสามารถสื่อสารได้ดีกว่าว่าเป็นสมการเรื่องเดียวกัน ปกติก็ไม่เคย
ใช้หรือคิดจะใช้นะครับ พอดีเห็นคำค้นเรื่องนี้ก็เลยสนใจ พอค้น google ก็มีคนแนะนำว่าใน
package amsmath นั้นมีชุดคำสั่งนี้ให้อยู่แล้ว แถมยังบอกหน้าให้เสร็จสรรพว่าหน้า 10 พอเข้า
ไปก็ลองทำตามที่คู่มือบอก ปรากฏว่าไม่ได้ ก็ไม่ยากครับไปค้น google อีกรอบได้วิธีทำที่
ละเอียดกว่าที่ wikibooks ซึ่งมีวิธีการดังนี้นะครับ

\begin{subequations}
\begin{gather}
a x + b = 0 \\
a x^2 + b x + c = 0 \\
a x^3 + b x^2 + c x + d = 0
\end{gather}
\end{subequations}

ไปลองดูกันเองนะครับ
ถ้าต้องการ 1ก 2ข … ก็ต้องลงแพ็กเกจภาษาไทยก่อนแล้วก็ทำตามนี้นะครับ

\begin{subequations}
\renewcommand{\theequation}{\theparentequation
\thaialph{equation}}
\begin{gather}
a x + b = 0 \\
a x^2 + b x + c = 0 \\
a x^3 + b x^2 + c x + d = 0
\end{gather}
\end{subequations}

โดยการแปลงตัวเลขให้เป็นภาษาไทย โดยใช้คำสั่ง \thaialph{equation} ก็จะได้หน้าตาดังรูป
ข้างล่างนี้

thaieqn

ก็คิดว่าน่าจะมีประโยชน์ในการเขียนเอกสารภาษาไทยบ้างนะครับ

จัดระเบียบ สมการ

นั่งปั่น paper เมื่อคืนจะดึกดื่น พอมีเวลาก็ต้องมาตกแต่งสมการให้เอกสารให้สวยงาม เพื่อไม่
ให้เสียสถิติ ก็เลยมาลองนั่งสรุปดูว่ามีรูปแบบไหนบ้างที่เราใช้บ่อย

ปัญหาที่หลายคนอาจจะเจอแล้วก็ปล่อยไปสำหรับ \LaTeX นั้นก็คือการจัดระเบียบ
ตำแหน่งช่องไฟของสมการ กรณีทั่วไปเราสามารถใช้กรอบคำสั่ง align (ใช้คำว่ากรอบ
แทน environment) เพื่อจัดตำแหน่งช่องไฟของสมการได้ไม่ยากเย็นอะไรนัก
ซึ่งวิธีการใช้กรอบคำสั่งนี้ได้อธิบายไว้อย่างดีในเอกสารของแพ็คเกจ amsmath กรณี
ที่ใช้บ่อยที่สุดเห็นจะเป็นการจัดระเบียบสมการหลายบรรทัดซึ่งจะ

สำหรับกรณีนี้ผมชอบใช้กรอบคำสั่ง aligned ช่วย ด้วยเหตุผลง่าย ๆ ว่าชื่อคำสั่งมันเหมือน
กัน ทำให้ไม่ต้องจำมาก

\begin{align}
\begin{aligned}
x &= \frac{1}{2n}\sum^n_{l=0}(-1)^l(n-l)^{p-2} + \frac{1}{3n}
\sum^n_{l=0}(-1)^l(n-1)^{p-4} \\
&\quad + \frac{1}{4n}\sum^n_{l=0}(-1)^l(n-1)^{p-5}
\end{aligned}
\end{align}

ตัวสีแดงเป็นอักขระที่ช่วยในการจัดระเบียบช่องไฟ อนึ่งมีอีกหลายวิธีที่สามารถจัดสมการแบบ
หลายบรรทัดได้

ปัญหาถัดมา ที่สร้างความปวดหัวค่อนข้างมาก ก็คือการจัดกลุ่มของสมการในแนวตั้ง

การจัดสมการในรูปแบบนี้ ไม่ค่อยเกิดขึ้นบ่อยนัก แต่จำเป็นมาก ๆ เวลาต้องให้ค่าเชิงเลขของ
ตัวแปรหลาย ๆ ตัว ไม่งั้นเอกสารก็จะเยิ่นเย้อไม่น่าดู วิธีการก็ง่าย ๆ ตรงไปตรงมาดังนี้

\begin{align}
x &=y & X &=Y & a &=b+c\\
X’&=y & X’&=Y’ & a’&=b
\end{align}

เช่นเดิมตัวแดงคืออักขระที่ใช้ในการจัดช่องไฟ ต้องใส่ให้ครบนะครับ

ตัวอย่างสุดท้าย ที่พึ่งจะได้ทดลองใช้สด ๆ ร้อน ๆ เมื่อวานนี้เองคือ


มันแปลกตรงไหนหล่ะ เคยคิดตื้น ๆ ว่าน่าจะใช้วิธีการแบบข้างบนได้คือจัดแบบแถวแนวตั้ง
ปรากฏว่าผลที่ได้ไม่ดี ก็เลยต้องใช้บริการคู่มือ amsmath อีกครั้ง (ทำเป็นปกติอยู่แล้ว) ซึ่ง
มีวิธีให้ใช้สองวิธี วิธีแรกคือใช้กรอบคำสั่ง align ดังนี้

\begin{align}

\hat{y}^o(k+1) &= \hat{\Theta}(k)\hat{\phi}(k)
&& \text{ \emph{a priori}} \\
\hat{y}(k+1) &= \hat{\Theta}(k+1)\hat{\phi}(k)
&& \text{ \emph{a posteriori}}
\end{align}

ผลที่ได้ก็เป็นไปตามรูปข้างบน วิธีที่สองคือใช้กรอบคำสั่ง alignat ซึ่งสามารถกำหนดช่องไฟ
ได้

\begin{alignat}{2}
\hat{y}^o(k+1) &= \hat{\Theta}(k)\hat{\phi}(k)
&\quad & \text{ \emph{a priori}} \\
\hat{y}(k+1) &= \hat{\Theta}(k+1)\hat{\phi}(k)
&& \text{ \emph{a posteriori}}
\end{alignat}

ผลที่ได้จะดูดีกว่า ดังนี้


ซึ่งถ้าต้องการเปลี่ยนระยะช่องไฟ ก็สามารถทำได้โดยการเปลี่ยนระยะที่ &\quad & โดยใช้
คำสั่ง \hspace{1cm} ช่วย เป็นต้น

หวังว่าบันทึกช่วยจำนี้คงเป็นประโยชน์ต่อตัวผมเอง และคนอื่น ๆ ที่มาอ่านด้วยนะครับ