קטעי קוד ב-LaTeX
שמים את הקוד בסביבת verbatim, lstlisting או minted, או משתמשים ב-\verb|...| בתוך השורה; Scissor LaTeX מסדר אותו בגופן ברוחב קבוע בדיוק כפי שהוקלד, וצובע את התחביר כשמציינים את השפה.
verbatim
בתוך verbatim שום דבר לא מפוענח: לוכסנים הפוכים, סוגריים מסולסלים, $ ו-% מודפסים כמו שהם, ומעברי שורה ורווחים נשמרים. זו הדרך הפשוטה ביותר להציג קוד או פלט של מסוף.
בלוק verbatim
\begin{verbatim}
for i in range(44):
print(i) # $ and \textbf stay as typed
\end{verbatim}קוד בתוך השורה: \verb
\verb מציג קטע קוד קצר בתוך משפט. התו שמיד אחרי \verb הוא התוחם; בוחרים תו שלא מופיע בקוד, כמו | או +.
קוד בתוך השורה עם \verb ו-\texttt
Call \verb|total(xs)| to add the list, or type \verb+x_1 = 44+.
For plain words in a monospaced font, \texttt{main.tex} is enough.\texttt{...} משנה רק את הגופן: תווים מיוחדים כמו _ ו-% עדיין צריכים בריחה שם, בעוד ש-\verb לוקח אותם כמו שהם.
listings: lstlisting עם שפה
החבילה listings נותנת את lstlisting. עם language=... הקוד מקבל צביעת תחביר.
lstlisting עם language=Python
\begin{lstlisting}[language=Python]
def total(xs):
"""Add up the numbers in xs."""
return sum(xs)
print(total([40, 4])) # 44
\end{lstlisting}\lstinline|code| היא הצורה שבתוך השורה, כמו \verb.
minted
minted מקבלת את השפה כארגומנט. בהתקנת TeX היא דורשת Python ואת האפשרות -shell-escape; ב-Scissor LaTeX היא עובדת בלי אף אחד מהם.
minted עם שפה
\begin{minted}{rust}
fn main() {
let answer = 40 + 4;
println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}מה נקרא
| פקודה | ב-Scissor LaTeX | הערות |
|---|---|---|
verbatim, verbatim* | עובד | |
\verb, \verb* | עובד | |
lstlisting | חלקית | language= נקרא; כל אפשרות אחרת (numbers, caption, frame, basicstyle, firstline ...) נשמטת. |
\lstinline | עובד | בלי צביעת תחביר בתוך השורה. |
\lstset{...} | מושמט | שפה שמוגדרת כאן לא בשימוש; מציינים language= בכל קטע קוד. |
minted | חלקית | השפה נקראת; אפשרויות כמו linenos ו-frame נשמטות. |
\mintinline{lang}{code} | עובד | בלי צביעת תחביר בתוך השורה. |
Verbatim, BVerbatim (fancyvrb) | חלקית | מוצג כ-verbatim; האפשרויות נשמטות. |
\lstinputlisting{file}, \inputminted{lang}{file} | לא נתמך | מדולג עם הודעה; מדביקים את הקוד לתוך המסמך. |
\lstnewenvironment, \newminted | לא נתמך |
צביעת תחביר זמינה לשפות נפוצות, ביניהן Python, C, C++, Java, JavaScript, TypeScript, Rust, Go, Ruby, R, Julia, MATLAB, SQL, Bash, HTML, CSS, JSON, YAML, TeX ו-LaTeX. שמות השפות לא תלויים באותיות גדולות או קטנות, כך ש-Python ו-python זהים. שם שלא מזוהה נותן קוד רגיל ברוחב קבוע.
קוד מקובץ
\lstinputlisting ו-\inputminted קוראים קוד מקובץ אחר בהתקנת TeX. Scissor LaTeX מדלג עליהם ומציין זאת בלשונית הבעיות:
\lstinputlisting מדולג
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.לשונית הבעיות: 1 included file is not part of this conversion
מה שונה מהתקנת TeX
לדפי החבילות, ראו listings ו-minted. המדריכים המלאים נמצאים ב-CTAN: listings, minted ו-fancyvrb.
שאלות ותשובות
איך מוסיפים בלוק קוד ב-LaTeX?
עוטפים את הקוד ב-\begin{verbatim} ... \end{verbatim}, או ב-lstlisting עם [language=Python] כדי לקבל צביעת תחביר.
האם minted עובדת בלי shell escape?
ב-Scissor LaTeX כן: סביבות minted נצבעות בלי Python ובלי -shell-escape. בהתקנת TeX, minted עדיין צריכה את שניהם.
למה חסרים מספרי השורות בקטע הקוד שלי?
Scissor LaTeX מתעלם מ-numbers=left ומשאר אפשרויות הפריסה של listings. רק השפה נקראת.
כל דוגמה בדף הזה מסודרת על ידי Scissor LaTeX בזמן בניית האתר. עודכן לאחרונה: 2026-11-07.