minted dalam Scissor LaTeX
Pakej minted berfungsi sebahagiannya dalam Scissor LaTeX: \begin{minted}{python} dan \mintinline berfungsi tanpa Python atau -shell-escape, dengan warna sintaks daripada skema tetap; pilihan seperti linenos, \setminted, \usemintedstyle, kapsyen listing, \mint dan \inputminted tidak disokong.
Apa yang dilakukan oleh pakej ini
minted mewarnakan kod sumber dengan pustaka Pygments. Anda menulis \begin{minted}{python} ... \end{minted}, atau \mintinline{python}{code} di dalam ayat. Pilihan seperti linenos dan frame=lines mengubah susun atur, \setminted menetapkannya untuk seluruh dokumen, dan \usemintedstyle memilih tema warna. Dalam pemasangan TeX, minted memerlukan Python dengan Pygments, dan dokumen mesti dikompil dengan -shell-escape.
Apa yang berfungsi di sini
| Ciri | Dalam Scissor LaTeX | Catatan |
|---|---|---|
\begin{minted}{lang} ... \end{minted} | Berfungsi | Berwarna, tanpa Python atau shell escape. |
\mintinline{lang}{code} | Berfungsi | Monospace, tanpa warna. |
Pilihan: [linenos, frame=lines, bgcolor=...] | Diabaikan | Diabaikan tanpa mesej. |
\setminted{...}, \usemintedstyle{...} | Diabaikan | Diabaikan tanpa mesej; warnanya tetap. |
Persekitaran listing dengan \caption | Sebahagian | Kod dipaparkan dan kapsyen dicetak sebagai teks biasa, tanpa "Listing 1"; \ref kepadanya memaparkan "??". |
\mint{lang}|code| | Tidak disokong | Dilangkau dengan mesej; bahasa dan kod dicetak sebagai teks biasa. |
\inputminted{lang}{file} | Tidak disokong | Dilangkau dengan mesej. |
\newminted, \newmintinline | Tidak disokong | Dilangkau dengan mesej, dan argumennya dicetak. |
Nama bahasa adalah sama seperti untuk listings: Python, C, C++, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, TeX dan banyak lagi, dalam huruf besar atau kecil.
Contoh
Blok minted dengan bahasa:
minted dengan JavaScript
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
console.log(`Hello, ${name}!`);
}
\end{minted}Pilihan diterima dan diabaikan, jadi blok ini tiada nombor baris atau bingkai di sini:
linenos dan frame diabaikan
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
let total: u32 = (1..=8).sum();
println!("{}", total + 8); // 44
}
\end{minted}Untuk kapsyen bernombor, gunakan figure sebagai ganti persekitaran listing minted. Di sini kapsyen berbunyi "Listing 1", dan \ref memberikan nombornya:
Blok minted berkapsyen di dalam rajah
\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.Keserasian
- Dari pemasangan TeX ke sini: setiap blok minted dipaparkan dengan warna. Pilihan dan gaya tidak digunakan; gantikan
\mintdengan\mintinlinedan tampal kod daripada fail\inputmintedke dalam dokumen. - Dari sini ke pemasangan TeX: blok minted dikompil di sana apabila Python, Pygments dan
-shell-escapetersedia.figuredi sekeliling blok minted diberi kapsyen "Figure 1" di sana.
Manual penuh terdapat di CTAN: ctan.org/pkg/minted. Lihat juga Penyenaraian kod dalam LaTeX.
Soalan dan jawapan
Adakah minted berfungsi tanpa shell escape?
Di sini, ya. Scissor LaTeX mewarnakan blok minted sendiri, jadi Python dan -shell-escape tidak diperlukan. Dalam pemasangan TeX kedua-duanya masih diperlukan.
Patutkah saya menggunakan minted atau listings?
Kedua-duanya berfungsi sama di sini: bahasa dibaca dan pilihan lain diabaikan. Jika dokumen juga mesti dikompil di tempat lain tanpa shell escape, listings ialah pilihan yang lebih selamat.
Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.