แพ็กเกจอัลกอริทึมใน Scissor LaTeX
แพ็กเกจอัลกอริทึมใช้ได้บางส่วนใน Scissor LaTeX สภาพแวดล้อม algorithm ใช้ได้พร้อมคำบรรยายที่มีหมายเลขและ \label คำสั่งตัวพิมพ์ใหญ่ของ algorithmic (\STATE, \FOR) ถูกอ่านเฉพาะในเลย์เอาต์งานประชุมวิชาการ ส่วน algpseudocode (\State, \For) และ algorithm2e (\KwIn, \For{}{}) ไม่รองรับ ให้ใส่ขั้นตอนไว้ในบล็อก verbatim แทน
แพ็กเกจเหล่านี้ทำอะไร
รหัสเทียมใน LaTeX มักใช้สองแพ็กเกจ algorithm ให้สภาพแวดล้อมที่มีหมายเลขพร้อมคำบรรยาย "Algorithm 1: ..." ซึ่งลอย (float) ได้เหมือนรูป ส่วนแพ็กเกจที่สองใช้เขียนขั้นตอน ได้แก่ algorithmic (คำสั่งตัวพิมพ์ใหญ่ \STATE, \IF, \ENDIF) algpseudocode จากชุด algorithmicx (ผสมตัวพิมพ์ใหญ่และเล็ก \State, \If, \EndIf) หรือ algorithm2e ซึ่งมีสภาพแวดล้อม algorithm ของตัวเองและคำสั่งอย่าง \KwIn และ \For{condition}{body}
สิ่งที่ใช้ได้ที่นี่
| แพ็กเกจ | ฟีเจอร์ | ใน Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | ใช้ได้: "Algorithm N" คำบรรยายอยู่ด้านล่าง และไม่ลอย |
| algorithm | การจัดวาง [H], [t], [h] | ถูกละไว้: อัลกอริทึมอยู่ตรงตำแหน่งที่คุณเขียน |
| algorithm | \listofalgorithms | ไม่รองรับ: ถูกข้ามพร้อมข้อความแจ้ง |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | ใช้ได้บางส่วน: ถูกอ่านในเอกสารที่ใช้เลย์เอาต์งานประชุมวิชาการ โดยไม่มีหมายเลขบรรทัด ที่อื่นจะไม่เป็นที่รู้จัก |
| algpseudocode | \State, \If, \For, \Function, \Return ... | ไม่รองรับ: ชื่อคำสั่งถูกข้าม และขั้นตอนทั้งหมดต่อกันเป็นบรรทัดเดียว |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | ไม่รองรับ: ถูกข้ามพร้อมข้อความแจ้ง และขั้นตอนต่อกันหมด |
ภายใน algorithm เนื้อหาถูกจัดกึ่งกลางเหมือนในรูป บล็อก verbatim ถูกจัดกึ่งกลางทั้งบล็อก โดยบรรทัดต่าง ๆ ชิดซ้ายและเยื้องตามที่พิมพ์ จึงเป็นวิธีที่เชื่อถือได้ที่สุดในการแสดงขั้นตอนที่นี่
ตัวอย่าง
ขั้นตอนใน verbatim พร้อมหมายเลขและการอ้างอิง:
algorithm ที่มีขั้นตอนแบบ verbatim
\begin{algorithm}
\caption{Find the largest value}
\label{alg:max}
\begin{verbatim}
best := xs[1]
for i := 2 to n:
if xs[i] > best:
best := xs[i]
return best
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:max} looks at each value once.คำสั่งของ algorithm2e ถูกข้าม บรรทัดต่าง ๆ จึงต่อกันหมด แท็บปัญหาแสดงรายการคำสั่งที่ไม่รู้จัก:
algorithm2e ไม่รองรับ
\begin{algorithm}
\caption{Sum of a list}
\KwIn{numbers $a_1, \dots, a_n$}
$s \gets 0$\;
\For{$i \gets 1$ \KwTo $n$}{$s \gets s + a_i$\;}
\Return{$s$}\;
\end{algorithm}แท็บปัญหา: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
หน้า อัลกอริทึมและรหัสเทียม แสดง algorithmic ในเลย์เอาต์งานประชุมวิชาการและ algpseudocode เทียบกัน
ความเข้ากันได้
- จากการติดตั้ง TeX มาที่นี่: อัลกอริทึมยังคงหมายเลขและคำบรรยายไว้ ขั้นตอนที่เขียนด้วย algpseudocode หรือ algorithm2e จะต่อกันหมด ให้เขียนใหม่ใน
verbatimหรือด้วย algorithmic ในเลย์เอาต์งานประชุมวิชาการ - จากที่นี่ไปยังการติดตั้ง TeX:
algorithmที่มีขั้นตอนแบบverbatimคอมไพล์ได้ทุกที่และดูเหมือนกัน ยกเว้นว่าอัลกอริทึมอาจลอยไปอยู่ด้านบนของหน้า
คู่มืออยู่บน CTAN: algorithms (algorithm และ algorithmic) algorithmicx (algpseudocode) และ algorithm2e
ดูเพิ่มเติม อัลกอริทึม listings และ เลย์เอาต์งานประชุมวิชาการ
คำถามและคำตอบ
ควรใช้แพ็กเกจอัลกอริทึมใดใน Scissor LaTeX
ใช้ algorithm สำหรับหมายเลขและคำบรรยาย แล้วเขียนขั้นตอนในบล็อก verbatim ซึ่งใช้ได้ในทุกเอกสารที่นี่และในการติดตั้ง TeX ทุกแบบ
ทำไมบรรทัดของอัลกอริทึมจึงรวมเป็นบรรทัดเดียว
ขั้นตอนใช้คำสั่งของ algpseudocode หรือ algorithm2e ซึ่ง Scissor LaTeX ไม่อ่าน ชื่อคำสั่งถูกข้าม ข้อความของทุกขั้นตอนจึงไปรวมอยู่ในบรรทัดเดียว
ทุกตัวอย่างในหน้านี้จัดหน้าโดย Scissor LaTeX ขณะสร้างเว็บไซต์ อัปเดตล่าสุด 2026-11-07