> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/id/pemformatan/12-code-highlighting-with-minted.md).

# Penyorotan kode dengan minted

## Pendahuluan

Artikel ini menunjukkan cara menggunakan [`minted` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/minted?lang=en) untuk memformat dan menyorot kode sumber bahasa pemrograman di dalam dokumen LaTeX, dimulai dengan sebuah contoh:

```latex
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #untuk menjadi matriks insidensi
    VT = np.zeros((n*m,1), int)  #variabel dummy

    #hitung matriks XOR bitwise
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh yang menampilkan keluaran paket minted](/files/7ef629fcbcf1b21f089d451de745cd210e092e02)

Ada dua perintah penting di sini. Pada preamble, paket diimpor dengan menulis

```latex
\usepackage{minted}
```

lalu tag `\begin{minted}{python}` dan `\end{minted}` membatasi sebuah lingkungan yang mencetak teks apa adanya dalam font monospace dan juga menerapkan warna pada komentar, kata kunci, dan fungsi. Parameter `python` adalah bahasa pemrograman tempat kode sumber ditulis. `minted` mendukung lebih dari 150 bahasa pemrograman dan markup serta file konfigurasi, lihat [panduan referensi](#reference-guide) untuk daftar bahasa yang didukung.

**Catatan**: Untuk `minted` agar dapat bekerja dengan *lokal* distribusi LaTeX Anda, program tambahan bernama [Pygments](https://pygments.org/) harus dipasang. [Overleaf](https://www.overleaf.com/) dapat menghemat Anda dari kerepotan memasangnya dan harus menjalankan perintah khusus untuk mengompilasi dokumen Anda—di Overleaf, dokumen yang menggunakan `minted` akan berfungsi "langsung begitu saja".

## Penggunaan dasar

Seperti ditunjukkan dalam contoh berikut, lingkungan `minted` dapat dikonfigurasi untuk mengubah tampilan visual dari kode yang ditata. Di sini, lingkungan `minted` menggunakan beberapa parameter yang dipisahkan koma dengan bentuk `key=value`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % untuk mengakses warna bernama LightGray
\definecolor{LightGray}{gray}{0.9}
\begin{document}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
linenos
]
{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #untuk menjadi matriks insidensi
    VT = np.zeros((n*m,1), int)  #variabel dummy

    #hitung matriks XOR bitwise
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Another+example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%7Bxcolor%7D+%25+to+access+the+named+colour+LightGray%0A%5Cdefinecolor%7BLightGray%7D%7Bgray%7D%7B0.9%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%0A%5B%0Aframe%3Dlines%2C%0Aframesep%3D2mm%2C%0Abaselinestretch%3D1.2%2C%0Abgcolor%3DLightGray%2C%0Afontsize%3D%5Cfootnotesize%2C%0Alinenos%0A%5D%0A%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh menerapkan pemformatan pada kode yang ditata yang dihasilkan oleh paket minted](/files/88468d2f7c110c0dd5674a6320d185d082b6620a)

Parameter yang digunakan dalam contoh ini adalah:

* `frame=lines`: menggambar dua garis, satu di atas dan satu di bawah kode untuk membingkainya. Nilai lain yang mungkin adalah `leftline`, `topline`, `bottomline` dan `single`.
* `framesep=2mm`: jarak bingkai diatur menjadi 2mm. Satuan [panjang](/latex/id/pemformatan/01-lengths-in-latex.md) lain dapat digunakan.
* `baselinestretch=1.2`: jarak antarbaris kode diatur ke 1.2.
* `bgcolor=LightGray`: warna latar belakang diatur ke `LightGray`. Anda perlu mengimpor paket `xcolor` agar ini berfungsi. Lihat [Menggunakan warna di LaTeX](/latex/id/pemformatan/13-using-colors-in-latex.md) untuk mempelajari lebih lanjut tentang manipulasi warna.
* `fontsize=\footnotesize`: ukuran font diatur ke `footnotesize`. Ukuran [font](/latex/id/font/01-font-sizes-families-and-styles.md#reference-guide) lain apa pun dapat diatur.
* `linenos`: mengaktifkan nomor baris.

Opsi lain yang mungkin berguna adalah:

* `mathescape`: mengaktifkan mode matematika dalam komentar kode.
* `rulecolor`: mengubah warna bingkai.
* `showspaces`: mengaktifkan karakter khusus untuk membuat spasi terlihat.

## Menyertakan kode dari file

Kode biasanya disimpan dalam file sumber, oleh karena itu perintah yang secara otomatis mengimpor kode dari file sangatlah praktis, seperti ditunjukkan dalam contoh berikut:

```latex
\documentclass{article}
\usepackage{minted}
\title{Mengimpor file menggunakan minted}
\begin{document}
Kode berikut akan diimpor langsung dari sebuah file:

\inputminted{octave}{BitXorMatrix.m}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BImporting+files+using+minted%7D%0A%5Cbegin%7Bdocument%7D%0AThe+next+code+will+be+directly+imported+from+a+file%3A%0A%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=function+X+%3D+BitXorMatrix%28A%2CB%29%0A%25function+to+compute+the+sum+without+charge+of+two+vectors%0A%09%0A%09%25convert+elements+into+usigned+integers%0A%09A+%3D+uint8%28A%29%3B%0A%09B+%3D+uint8%28B%29%3B%0A%0A%09m1+%3D+length%28A%29%3B%0A%09m2+%3D+length%28B%29%3B%0A%09X+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A%09for+n1%3D1%3Am1%0A%09%09for+n2%3D1%3Am2%0A%09%09%09X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A%09%09end%0A%09end\&main_document=main.tex)

Contoh ini menghasilkan keluaran berikut:

![Menggunakan minted untuk mengimpor file kode](/files/59ef4ecc07af1bd2d67fb5b708b7f0a96a68a306)

Perintah `\inputminted{octave}{BitXorMatrix.m}` mengimpor kode dari file `BitXorMatrix.m`, parameter `octave` memberi tahu LaTeX bahasa pemrograman dari kode tersebut. Perintah ini dapat menerima dua parameter tambahan untuk mengimpor hanya sebagian file; misalnya, untuk mengimpor kode dari baris 2 sampai baris 12, perintahnya menjadi:

```latex
\inputminted[firstline=2, lastline=12]{octave}{BitXorMatrix.m}
```

## Kode satu baris

Jika Anda hanya perlu memasukkan satu baris kode, perintah `\mint`, yang sintaksnya ditunjukkan pada contoh berikut, akan menyelesaikan tugas ini.

```latex
Pemformatan kode satu baris juga berfungsi dengan \texttt{minted}. Misalnya, fragmen HTML kecil seperti ini:
\mint{html}|<h2>Something <b>here</b></h2>|
\noindent dapat diformat dengan benar.
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One+line+code+example+with+minted\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0AOne-line+code+formatting+also+works+with+%5Ctexttt%7Bminted%7D.+For+example%2C+a+small+fragment+of+HTML+like+this%3A%0A%5Cmint%7Bhtml%7D%7C%3Ch2%3ESomething+%3Cb%3Ehere%3C%2Fb%3E%3C%2Fh2%3E%7C%0A%5Cnoindent+can+be+formatted+correctly.%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh kode satu baris dengan minted](/files/4c2d037822a33d61ac015bf23b26b2c36155de29)

Parameter di antara kurung kurawal menetapkan bahasa pemrograman (`html` bahasa markup dalam kasus ini) dengan teks aktual yang akan diformat dibatasi oleh karakter '|' .

## Lexer kustom

**(Harap diperhatikan bahwa karena perubahan pada `minted` sejak 2023, pendekatan berikut hanya akan bekerja di** [**TeX Live 2022 atau yang lebih lama**](/latex/id/basis-pengetahuan/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

Secara default, `minted` hanya mendukung bahasa dengan lexer yang sudah terpasang atau terdaftar dengan `pygmentize`. Jika Anda telah menulis lexer kustom, atau ingin menggunakan lexer untuk bahasa yang belum dipasang di Overleaf, Anda masih dapat menggunakannya dalam proyek Overleaf Anda sendiri menggunakan pendekatan yang disebutkan [di sini](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

Misalkan Anda telah mendefinisikan sebuah lexer dalam file `nl-lexer.py`, yang berisi kelas `NetLogoLexer` untuk bahasa NetLogo. Unggah `nl-lexer.py` ke proyek Overleaf Anda, lalu tentukan `nl-lexer.py:NetLogoLexer` sebagai "nama bahasa" saat menggunakan `minted`. Misalnya:

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... kode Anda di sini ...
\end{minted}
```

[Berikut](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) contoh lain untuk bahasa ImageJ Macro.

## Warna dan stylesheet

Skema warna yang digunakan untuk penyorotan kode disimpan dalam stylesheet. Anda dapat membuat milik Anda sendiri atau menggunakan salah satu yang sudah tersedia di distribusi LaTeX Anda. Lihat [panduan referensi](#reference-guide) untuk daftar stylesheet yang disertakan dalam [Overleaf](https://www.overleaf.com).

```latex
\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #untuk menjadi matriks insidensi
    VT = np.zeros((n*m,1), int)  #variabel dummy

    #hitung matriks XOR bitwise
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stylesheets+with+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusemintedstyle%7Bborland%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Menggunakan `borland` stylesheet menghasilkan keluaran berikut:

![Keluaran paket minted menggunakan stylesheet borland](/files/5d95706ea2b8e1dc3c660843398cce1effcb28d4)

Sintaks untuk menetapkan gaya pewarnaan cukup mudah, perintah `\usemintedstyle{borland}` menggunakan tema warna `borland` untuk memformat kode sumber. Anda dapat menemukan lebih banyak skema warna di [panduan referensi](#reference-guide).

## Caption, label, dan daftar listing

Listing kode yang diformat dengan **minted** dapat disertakan dalam elemen float, sama seperti [gambar](/latex/id/topik-lainnya/27-inserting-images.md#positioning) dan [tabel](/latex/id/gambar-dan-tabel/01-tables.md#positioning-tables). Caption dan label dapat ditetapkan pada listing kode, lalu nantinya dapat dirujuk dan disertakan dalam "Daftar listing".

```latex
\documentclass{article}
\usepackage{minted}
\title{Contoh kode listing}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Contoh dari file eksternal}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("Hello, World!"); /*printf() menghasilkan string yang diapit tanda kutip*/
   return 0;
}
\end{minted}
\caption{Halo Dunia dalam C}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--mendefinisikan fungsi faktorial
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("enter a number:")
a = io.read("*number") -- baca sebuah angka
print(fact(a))
\end{minted}
\caption{Contoh dari manual Lua}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} melakukan pekerjaan yang bagus dalam menata listing \ref{listing:1}, \ref{listing:2}, dan \ref{listing:3}.
\renewcommand\listoflistingscaption{Daftar kode sumber}
\listoflistings
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BListing+code+examples%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Ccaption%7BExample+from+external+file%7D%0A%5Clabel%7Blisting%3A1%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Bc%7D%0A%23include+%3Cstdio.h%3E%0Aint+main%28%29+%7B%0A+++printf%28%22Hello%2C+World%21%22%29%3B+%2F%2Aprintf%28%29+outputs+the+quoted+string%2A%2F%0A+++return+0%3B%0A%7D%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BHello+World+in+C%7D%0A%5Clabel%7Blisting%3A2%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Blua%7D%0Afunction+fact+%28n%29--defines+a+factorial+function%0A++if+n+%3D%3D+0+then%0A++++return+1%0A++else%0A++++return+n+%2A+fact%28n-1%29%0A++end%0Aend%0A%0Aprint%28%22enter+a+number%3A%22%29%0Aa+%3D+io.read%28%22%2Anumber%22%29+--+read+a+number%0Aprint%28fact%28a%29%29%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BExample+from+the+Lua+manual%7D%0A%5Clabel%7Blisting%3A3%7D%0A%5Cend%7Blisting%7D%0A%5Cnoindent%5Ctexttt%7Bminted%7D+makes+a+nice+job+of+typesetting+listings+%5Cref%7Blisting%3A1%7D%2C+%5Cref%7Blisting%3A2%7D+and+%5Cref%7Blisting%3A3%7D.%0A%5Crenewcommand%5Clistoflistingscaption%7BList+of+source+codes%7D%0A%5Clistoflistings%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=%25This+code+is+directly+imported+from+a+file%0A%25A+function+to+compute+the+sum+without+charge+of+two+vectors%0Afunction+X+%3D+BitXorMatrix%28A%2CB%29%0A%25convert+elements+into+unsigned+integers%0AA+%3D+uint8%28A%29%3B%0AB+%3D+uint8%28B%29%3B%0A%0Am1+%3D+length%28A%29%3B%0Am2+%3D+length%28B%29%3B%0AX+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A+for+n1%3D1%3Am1%0A++for+n2%3D1%3Am2%0A+++X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A++end%0Aend\&main_document=main.tex)

Halaman pertama contoh ini berisi keluaran berikut:

![Contoh fragmen kode listing](/files/b1c8f74b208c0aa41a966796a1f4cf7f2f9006f2)

Untuk mencetak daftar dengan semua elemen "listing" gunakan `\listoflistings`. Pada contoh di atas, judul bawaan `Daftar listing` diubah menjadi `Daftar kode sumber` dengan menulis

```latex
\renewcommand\listoflistingscaption{Daftar kode sumber}
\listoflistings % Sekarang tata daftar tersebut
```

Halaman kedua yang dihasilkan oleh contoh di atas berisi listing berikut:

![Contoh listing kode sumber](/files/ceac2e3b9dc6e38ff575fc82a55965bf2041949e)

## Panduan referensi

**Gaya warna untuk minted**

| nama     | keluaran                                                              | nama     | keluaran                                                               |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/ce6e2dd1672535ad39aa20d2949f218b432a932c) | fruity   | ![MintedStyles10.png](/files/aeac989ba5267ab7bb11c9c0c4ac2727021893aa) |
| rrt      | ![MintedStyles2.png](/files/009bddda4755e9655a0c4e3f08d26fcbeb3fb9d9) | autumn   | ![MintedStyles11.png](/files/64406fac748e440983d21f640ab6cd8d621b2bc0) |
| perldoc  | ![MintedStyles3.png](/files/d722ad4e8bc2fd2f7406f660135e3f3c00ff84b6) | bw       | ![MintedStyles12.png](/files/129bffa51136a75efce1b0b85f5aa6acdc26089c) |
| borland  | ![MintedStyles4.png](/files/05f1ce4951940c1a4b797a961ac39fb377dd2378) | emacs    | ![MintedStyles13.png](/files/9208d45402920f79ce8231e440ded6b145fc0563) |
| colorful | ![MintedStyles5.png](/files/8b45ef4b4a689c6ff0c22daba9f294748aedfd50) | vim      | ![MintedStyles14.png](/files/040e489564013f36d0d153fd1aa58e5626578886) |
| murphy   | ![MintedStyles6.png](/files/e3e91722a4918e79b8e18506b53103f57d80cac6) | pastie   | ![MintedStyles15.png](/files/794c88aab809e6206696192082e4e8eb82020ad0) |
| vs       | ![MintedStyles7.png](/files/06feb790613dc3455f349b7c27f464f8af08e5dd) | friendly | ![MintedStyles16.png](/files/bed1757975d523a89619146966a581d39f58e32c) |
| trac     | ![MintedStyles8.png](/files/b25e36a09b92b29fce8043d3c85a65e1fb142990) | native   | ![MintedStyles17.png](/files/d1e848e522b63ed9f3275a458cc82f6dd2b64178) |
| tango    | ![MintedStyles9.png](/files/889a6eb51a045498a5eb1b44f154f1c16b47c718) | monokai  | ![MintedStyles18.png](/files/cb3c206a0701a36b7c0171468e9c0a0ebe5d1fe1) |

Beberapa skema warna memerlukan latar belakang gelap agar dapat dibaca.

**Bahasa pemrograman utama yang didukung dan file konfigurasi**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| cucumber | abap       | ada         | ahk       |
| antlr    | apacheconf | applescript | as        |
| aspectj  | autoit     | asy         | awk       |
| basemake | bash       | bat         | bbcode    |
| befunge  | bmax       | boo         | brainfuck |
| bro      | bugs       | c           | ceylon    |
| cfm      | cfs        | cheetah     | clj       |
| cmake    | cobol      | cl          | console   |
| control  | coq        | cpp         | croc      |
| csharp   | css        | cuda        | cyx       |
| d        | dg         | diff        | django    |
| dpatch   | duel       | dylan       | ec        |
| erb      | evoque     | fan         | fancy     |
| fortran  | gas        | genshi      | glsl      |
| gnuplot  | go         | gosu        | groovy    |
| gst      | haml       | haskell     | hxml      |
| html     | http       | hx          | idl       |
| irc      | ini        | java        | jade      |
| js       | json       | jsp         | kconfig   |
| koka     | lasso      | livescrit   | llvm      |
| logos    | lua        | mako        | mason     |
| matlab   | minid      | monkey      | moon      |
| mxml     | myghty     | mysql       | nasm      |
| newlisp  | newspeak   | numpy       | ocaml     |
| octave   | ooc        | perl        | php       |
| plpgsql  | postgresql | postscript  | pot       |
| prolog   | psql       | puppet      | python    |
| qml      | ragel      | mentah      | ruby      |
| rhtml    | sass       | scheme      | smalltalk |
| sql      | ssp        | tcl         | tea       |
| tex      | teks       | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## Bacaan lanjutan

Untuk informasi lebih lanjut lihat:

* [Panjang dalam LaTeX](/latex/id/pemformatan/01-lengths-in-latex.md)
* [Daftar kode](/latex/id/pemformatan/11-code-listing.md)
* [Penghitung](/latex/id/pemformatan/10-counters.md)
* [Menggunakan warna di LaTeX](/latex/id/pemformatan/13-using-colors-in-latex.md)
* [Ukuran font, keluarga font, dan gaya](/latex/id/font/01-font-sizes-families-and-styles.md)
* [Jenis huruf](/latex/id/font/02-font-typefaces.md)
* [Pengelolaan dalam proyek besar](/latex/id/struktur-dokumen/07-management-in-a-large-project.md)
* [Proyek LaTeX multi-berkas](/latex/id/struktur-dokumen/08-multi-file-latex-projects.md)
* [Daftar isi](/latex/id/struktur-dokumen/02-table-of-contents.md)
* [Dokumen satu sisi dan dua sisi](/latex/id/pemformatan/08-single-sided-and-double-sided-documents.md)
* [Fitur **minted** dokumentasi paket](https://texdoc.org/serve/minted/0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/id/pemformatan/12-code-highlighting-with-minted.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
