> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# {Minted}

Bu makale, bir LaTeX belgesinde programlama dili kaynak kodunu biçimlendirmek ve vurgulamak için [`minted` paketinin](https://ctan.org/pkg/minted?lang=en) nasıl kullanılacağını bir örnekle başlayarak gösterir:

```latex theme={null}
\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 #to become the incidence matrix
    VT = np.zeros((n*m,1), int)  #dummy variable
    
    #compute the bitwise xor matrix
    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}
```

Bu örnek aşağıdaki çıktıyı üretir:

<p style={{ textAlign: "center" }}>
  <img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/f0/OLV2minted.png" alt="minted paketinin çıktısını gösteren örnek" />
</p>

Burada iki önemli komut vardır. Önsözde (preamble) paket şu yazılarak içe aktarılır:

```latex theme={null}
\usepackage{minted}
```

ardından `\begin{minted}{python}` ve `\end{minted}` etiketleri, metni eş aralıklı yazı tipleriyle olduğu gibi (verbatim) yazdıran ve ayrıca yorumlara, anahtar sözcüklere ve fonksiyonlara renk uygulayan bir ortamı sınırlar. `python` parametresi, kaynak kodun yazıldığı programlama dilidir. `minted`, yapılandırma dosyalarının yanı sıra 150'den fazla programlama ve işaretleme dilini destekler; desteklenen dillerin listesi için [başvuru kılavuzuna](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted#Reference_guide) bakın.

**Not**: `minted`'in *yerel* LaTeX dağıtımınızla çalışması için [Pygments](https://pygments.org/) adlı ek bir programın kurulu olması gerekir. [Overleaf](https://www.overleaf.com/), sizi bunu kurma ve belgenizi derlemek için özel komutlar çalıştırma zahmetinden kurtarabilir — Overleaf'te `minted` kullanan belgeler "kutudan çıktığı gibi" çalışır.

### Temel kullanım

Aşağıdaki örnekte gösterildiği gibi `minted` ortamı, dizilen kodun görsel sunumunu değiştirecek şekilde yapılandırılabilir. Burada `minted` ortamı, `key=value` biçiminde virgülle ayrılmış birkaç parametre kullanır:

```latex theme={null}
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % to access the named colour 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 #to become the incidence matrix
    VT = np.zeros((n*m,1), int)  #dummy variable
    
    #compute the bitwise xor matrix
    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}
```

Bu örnek aşağıdaki çıktıyı üretir:

<p style={{ textAlign: "center" }}>
  <img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/ff/OLV2minted2.png" alt="minted paketiyle dizilen koda biçimlendirme uygulayan örnek" />
</p>

Bu örnekte kullanılan parametreler şunlardır:

* `frame=lines`: kodu çerçevelemek için biri üstte biri altta olmak üzere iki çizgi çizer. Diğer olası değerler `leftline`, `topline`, `bottomline` ve `single`'dır.
* `framesep=2mm`: çerçeve aralığı 2mm olarak ayarlanır. Diğer [uzunluk birimleri](https://www.overleaf.com/learn/latex/Lengths_in_LaTeX) de kullanılabilir.
* `baselinestretch=1.2`: kodun satır aralığı 1.2 olarak ayarlanır.
* `bgcolor=LightGray`: arka plan rengi `LightGray` olarak ayarlanır. Bunun çalışması için `xcolor` paketini içe aktarmanız gerekir. Renklerle çalışma hakkında daha fazla bilgi için [LaTeX'te renk kullanımı](https://www.overleaf.com/learn/latex/Using_colours_in_LaTeX) makalesine bakın.
* `fontsize=\footnotesize`: yazı tipi boyutu `footnotesize` olarak ayarlanır. Başka herhangi bir [yazı tipi boyutu](https://www.overleaf.com/learn/latex/Font_sizes_and_kinds%23Reference_guide) da ayarlanabilir.
* `linenos`: satır numaralarını etkinleştirir.

Yararlı olabilecek diğer seçenekler şunlardır:

* `mathescape`: kod yorumlarında matematik modunu etkinleştirir.
* `rulecolor`: çerçevenin rengini değiştirir.
* `showspaces`: boşlukları görünür kılmak için özel bir karakteri etkinleştirir.

### Koda bir dosyadan yer verme

Kod genellikle bir kaynak dosyada saklanır; bu nedenle aşağıdaki örnekte gösterildiği gibi kodu bir dosyadan otomatik olarak içe aktaran bir komut oldukça kullanışlıdır:

```latex theme={null}
\documentclass{article}
\usepackage{minted}
\title{Importing files using minted}
\begin{document}
The next code will be directly imported from a file:

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

Bu örnek aşağıdaki çıktıyı üretir:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/c/c8/OLV2mintedinput.png" alt="Bir kod dosyasını içe aktarmak için minted kullanımı" height="392" width="600" />

`\inputminted{octave}{BitXorMatrix.m}` komutu kodu `BitXorMatrix.m` dosyasından içe aktarır; `octave` parametresi LaTeX'e kodun programlama dilini bildirir. Bu komut, dosyanın yalnızca bir kısmını içe aktarmak için iki ek parametre alabilir; örneğin 2. satırdan 12. satıra kadar olan kodu içe aktarmak için komut şu hale gelir:

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

### Tek satırlık kod

Yalnızca tek bir kod satırı girmeniz gerekiyorsa, sözdizimi bir sonraki örnekte gösterilen `\mint` komutu işinizi görecektir.

```latex wrap theme={null}
One-line code formatting also works with \texttt{minted}. For example, a small fragment of HTML like this:
\mint{html}|<h2>Something <b>here</b></h2>|
\noindent can be formatted correctly.
```

Bu örnek aşağıdaki çıktıyı üretir:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/d/d9/OLV2mintedHTML.png" alt="minted ile tek satırlık kod örneği" height="112" width="600" />

Süslü parantezler arasındaki parametre programlama dilini (bu örnekte `html` işaretleme dili) belirler; biçimlendirilecek asıl metin ise '|' karakteriyle sınırlandırılır.

### Kendi sunucunuzda barındırılan Overleaf ile ilgili sorunlar

Overleaf'i dağıtmak için sandbox derlemesi ve bir overleaf sunucusu kullanıyorsanız minted düzgün çalışmayabilir. Ayrıntılı bilgi için şuraya bakabilirsiniz: [issues/131](https://github.com/yu-i-i/overleaf-cep/issues/131). minted'in çalışması için arm komut profilini ve bazı sistem çağrılarını etkinleştirmeniz gerekir.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.