> 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/texlive/uk/povyazani-z-paketami/minted.md).

# {Minted}

Ця стаття показує, як використовувати [`minted` пакет](https://ctan.org/pkg/minted?lang=en) для форматування та підсвічування вихідного коду мов програмування в документі LaTeX, починаючи з прикладу:

```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 #щоб стати матрицею інцидентності
    VT = np.zeros((n*m,1), int)  #допоміжна змінна
    
    #обчислити матрицю побітового xor
    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}
```

Цей приклад показує такий результат:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/f0/OLV2minted.png" alt="Example displaying the output of the minted package"></p>

Тут є дві важливі команди. У преамбулі пакет імпортується за допомогою запису

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

потім теги `\begin{minted}{python}` і `\end{minted}` обмежують середовище, яке друкує текст дослівно моноширинним шрифтом і також застосовує колір до коментарів, ключових слів і функцій. Параметр `python` є мовою програмування, якою написано вихідний код. `minted` підтримує понад 150 мов програмування й розмітки, а також файли конфігурації; див. [довідник](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted#Reference_guide) для списку підтримуваних мов.

**Примітка**: Для `minted` щоб працювати з вашою *локальною* дистрибуцією LaTeX, потрібно встановити додаткову програму під назвою [Pygments](https://pygments.org/) . [Overleaf](https://www.overleaf.com/) може позбавити вас клопоту з її встановленням і необхідності запускати спеціальні команди для компіляції вашого документа — в Overleaf документи, які використовують `minted` працюватимуть «з коробки».

### Базове використання

Як показано в наведеному нижче прикладі, середовище `minted` можна налаштувати так, щоб змінити візуальне подання набраного коду. Тут `minted` середовище використовує кілька параметрів, розділених комами, у формі `key=value`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % щоб отримати доступ до іменованого кольору 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 #щоб стати матрицею інцидентності
    VT = np.zeros((n*m,1), int)  #допоміжна змінна
    
    #обчислити матрицю побітового xor
    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}
```

Цей приклад показує такий результат:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/ff/OLV2minted2.png" alt="Example applying formatting to typeset code produced by the minted package"></p>

Параметри, використані в цьому прикладі:

* `frame=lines`: малює дві лінії, одну зверху й одну знизу коду, щоб обрамити його. Інші можливі значення: `leftline`, `topline`, `bottomline` і `single`.
* `framesep=2mm`: відстань між рамкою та вмістом встановлено на 2 мм. Можна використовувати й інші [одиниці довжини](https://www.overleaf.com/learn/latex/Lengths_in_LaTeX) .
* `baselinestretch=1.2`: міжрядковий інтервал коду встановлено на 1.2.
* `bgcolor=LightGray`: колір фону встановлено на `LightGray`. Для цього потрібно імпортувати пакет `xcolor` . [Використання кольорів у LaTeX](https://www.overleaf.com/learn/latex/Using_colours_in_LaTeX) щоб дізнатися більше про керування кольорами.
* `fontsize=\footnotesize`: розмір шрифту встановлено на `footnotesize`. Можна встановити будь-який інший [розмір шрифту](https://www.overleaf.com/learn/latex/Font_sizes_and_kinds%23Reference_guide) .
* `linenos`: вмикає нумерацію рядків.

Інші параметри, які можуть бути корисними:

* `mathescape`: вмикає математичний режим у коментарях коду.
* `rulecolor`: змінює колір рамки.
* `showspaces`: вмикає спеціальний символ, щоб зробити пробіли видимими.

### Включення коду з файла

Код зазвичай зберігається у вихідному файлі, тому команда, яка автоматично імпортує код із файла, є дуже зручною, як показано в наведеному нижче прикладі:

```latex
\documentclass{article}
\usepackage{minted}
\title{Importing files using minted}
\begin{document}
Наступний код буде імпортовано безпосередньо з файла:

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

Цей приклад показує такий результат:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/c/c8/OLV2mintedinput.png" alt="Використання minted для імпорту файла коду" height="392" width="600">

Команда `\inputminted{octave}{BitXorMatrix.m}` імпортує код із файла `BitXorMatrix.m`, параметр `octave` вказує LaTeX мову програмування коду. Ця команда може приймати два додаткові параметри, щоб імпортувати лише частину файла; наприклад, щоб імпортувати код із 2-го до 12-го рядка, команда стає такою:

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

### Код в один рядок

Якщо вам потрібно вставити лише один рядок коду, команда `\mint`, синтаксис якої наведено в наступному прикладі, впорається з цим.

{% code overflow="wrap" %}

```latex
Форматування коду в один рядок також працює з \texttt{minted}. Наприклад, невеликий фрагмент HTML такий:
\mint{html}|<h2>Something <b>here</b></h2>|
\noindent можна правильно відформатувати.
```

{% endcode %}

Цей приклад показує такий результат:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/d/d9/OLV2mintedHTML.png" alt="Приклад коду в один рядок з minted" height="112" width="600">

Параметр між фігурними дужками задає мову програмування (`html` мову розмітки у цьому випадку), а власне текст, який потрібно форматувати, обмежується символом '|' .

### Проблеми з самостійно розгорнутим Overleaf

Якщо ви використовуєте sandbox compile, а також сервер Overleaf для розгортання Overleaf, minted може працювати не дуже добре. Для детальної інформації див.: [issues/131](https://github.com/yu-i-i/overleaf-cep/issues/131). Щоб minted працював, потрібно увімкнути профіль інструкцій ARM і деякі системні виклики.


---

# 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/texlive/uk/povyazani-z-paketami/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.
