> 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/pertanyaan-and-jawaban/16-how-can-i-include-matlab-code-in-my-latex-document.md).

# Bagaimana cara menyertakan kode MATLAB dalam dokumen LaTeX saya?

Fitur [`matlab-prettifier` ke preambel dokumen Anda (seperti disarankan](https://www.ctan.org/pkg/matlab-prettifier) dapat digunakan untuk menata kode MATLAB dan ditulis sebagai tanggapan atas sebuah [pertanyaan di tex.stackexchange](https://tex.stackexchange.com/questions/75116/what-can-i-use-to-typeset-matlab-code-in-my-document).

### Lingkungan lstlisting

Setelah menyertakan `matlab-prettifier` paket dalam dokumen Anda melalui

```latex
\usepackage{matlab-prettifier}
```

Anda dapat menggunakan `lstlisting` lingkungan untuk menata kode MATLAB:

```latex
\begin{lstlisting}[<options>]
kode MATLAB...
\end{lstlisting}
```

di mana `<options>` adalah daftar parameter yang dipisahkan koma, yang nilainya diatur menggunakan pasangan kunci-nilai (yaitu, `parameter=nilai`).

* **Catatan**: Paket ini `matlab-prettifier` dibangun di sekitar paket `listings` yang memungkinkan penggunaan fitur yang disediakan oleh `listings`, termasuk parameter di dalam `<options>` dari `lstlisting` lingkungan. Namun, beberapa `listings` parameter sebaiknya *berisi nilai data aktual yang disimpan dalam* digunakan, dan pembaca disarankan untuk merujuk ke [`matlab-prettifier` dokumentasi](http://mirrors.ctan.org/macros/latex/contrib/matlab-prettifier/matlab-prettifier.pdf) untuk detail lebih lanjut.

Tampilan visual dari kode MATLAB yang ditata dapat diubah menggunakan `gaya` parameter, yang mendukung tiga nilai:

* `Matlab-editor`
* `Matlab-bw`
* `Matlab-Pyglike`

Contoh berikut menunjukkan cara menggunakan gaya-gaya tersebut.

### Contoh

Berikut contoh yang menggunakan kode MATLAB dari `matlab-prettifier`dokumentasi, yang menerapkan `Matlab-editor` gaya:

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}

\begin{lstlisting}[style=Matlab-editor]
%% Contoh kode Matlab
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
buat vektor baris x, lalu balik urutannya
%}
x = linspace(0,1,101);
y = x(end:-1:1);
\end{lstlisting}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+matlab-prettifier+example\&snip=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Blstlisting%7D%5Bstyle%3DMatlab-editor%5D%0A%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B%0A%5Cend%7Blstlisting%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Kode MATLAB ditata dalam LaTeX di Overleaf](/files/43d1e9da265a56a1a06b71e72f89619c2b376d6a)

Contoh berikut menetapkan nilai untuk `frame` dan `numbers` parameter yang disediakan oleh `listings` paket:

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}

\begin{lstlisting}[
frame=single,
numbers=left,
style=Matlab-Pyglike]
%% Contoh kode Matlab
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
buat vektor baris x, lalu balik urutannya
%}
x = linspace(0,1,101);
y = x(end:-1:1);
\end{lstlisting}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+second+matlab-prettifier+example\&snip=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Blstlisting%7D%5B%0Aframe%3Dsingle%2C%0Anumbers%3Dleft%2C%0Astyle%3DMatlab-Pyglike%5D%0A%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B%0A%5Cend%7Blstlisting%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Kode MATLAB ditata dalam LaTeX di Overleaf](/files/dd7e191af96ae28727aa7a02f7b68dea3c4528a3)

### Menggunakan kode MATLAB yang disimpan dalam sebuah file

Alih-alih menyertakan kode MATLAB secara langsung di dalam dokumen LaTeX Anda, gunakan `\lstinputlisting` perintah untuk mengimpor dan menata kode yang terdapat dalam file eksternal:

```latex
\lstinputlisting[<options>]{<filename>}
```

di mana

* `<options>` adalah daftar parameter yang dipisahkan koma dan diberikan sebagai pasangan kunci-nilai [(lihat di atas)](#matopts);
* `<filename>` adalah jalur ke file yang berisi kode MATLAB.

Sebagai contoh, untuk mengimpor file `sample.m` dan menatanya dalam `Matlab-bw` gaya, Anda akan menulis

```latex
\lstinputlisting[style=Matlab-bw]{sample.m}
```

Contoh berikut menempatkan bingkai di sekitar kode, memberi nomor pada baris-baris kode (di sebelah kiri), dan menggunakan `Matlab-bw` gaya:

```latex
\lstinputlisting[
frame=single,
numbers=left,
style=Matlab-editor
]{sample.m}
```

Pilih `Buka contoh ini di Overleaf` tautan ([lihat di bawah](#openol)) untuk secara otomatis membuat proyek Overleaf yang menyertakan `sample.m` file kode MATLAB.

**`main.tex`**

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}
\title{Mengimpor dan menata kode MATLAB yang terdapat dalam sebuah file}
\lstinputlisting[
frame=single,
numbers=left,
style=Matlab-bw
]{sample.m}

\end{document}
```

**`sample.m`**

```latex
%% Contoh kode Matlab
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
buat vektor baris x, lalu balik urutannya
%}
x = linspace(0,1,101);
y = x(end:-1:1);
```

[Buka contoh ini di Overleaf (ini membuat `sample.m` file).](https://www.overleaf.com/docs?engine=pdflatex\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctitle%7BImporting+and+typesetting+MATLAB+code+contained+in+a+file%7D%0A%5Clstinputlisting%5B%0Aframe%3Dsingle%2C%0Anumbers%3Dleft%2C%0Astyle%3DMatlab-bw%0A%5D%7Bsample.m%7D%0A%0A%5Cend%7Bdocument%7D\&snip_name\[]=sample.m\&snip\[]=%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B\&main_document=main.tex)

Contoh ini menghasilkan keluaran berikut:

![Kode MATLAB ditata dalam LaTeX di Overleaf](/files/1cb4710bf1eeb1436c952ddbc4d8d6ab67324584)


---

# 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/pertanyaan-and-jawaban/16-how-can-i-include-matlab-code-in-my-latex-document.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.
