> 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/uk/formatuvannya/12-code-highlighting-with-minted.md).

# Підсвічування коду за допомогою minted

## Вступ

У цій статті показано, як використовувати [`minted` accents](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}
```

[Відкрити цей приклад в 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)

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

![Приклад, що показує виведення пакета minted](/files/b4216eecd48d2328970e6fc73010178dfa60750b)

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

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

потім теги `\begin{minted}{python}` та `\end{minted}` обмежують середовище, яке друкує текст дослівно моноширинним шрифтом і також застосовує колір до коментарів, ключових слів і функцій. Параметр `python` — це мова програмування, якою написано вихідний код. `minted` підтримує понад 150 мов програмування та розмітки, а також файли конфігурації, див. [довідковий посібник](#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}
```

[Відкрити цей приклад в 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)

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

![Приклад застосування форматування до набраного коду, створеного пакетом minted](/files/9cd25f4c790d8574ef5393c23cba6f534877cf88)

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

* `frame=lines`: малює дві лінії — одну зверху і одну знизу, щоб обрамити код. Інші можливі значення: `leftline`, `topline`, `bottomline` та `single`.
* `framesep=2mm`: відстань до рамки встановлено на 2 мм. Можна використовувати інші [одиниці довжини](/latex/uk/formatuvannya/01-lengths-in-latex.md) .
* `baselinestretch=1.2`: міжрядковий інтервал коду встановлено на 1.2.
* `bgcolor=LightGray`: колір тла встановлено на `LightGray`. Для цього потрібно імпортувати пакет `xcolor` . Див. [Використання кольорів у LaTeX](/latex/uk/formatuvannya/13-using-colors-in-latex.md) щоб дізнатися більше про керування кольорами.
* `fontsize=\footnotesize`: розмір шрифту встановлено на `footnotesize`. Можна встановити будь-який інший [розмір шрифту](/latex/uk/shrifti/01-font-sizes-families-and-styles.md#reference-guide) .
* `linenos`: вмикає нумерацію рядків.

Інші корисні параметри:

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

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

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

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

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

[Відкрити цей приклад в 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)

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

![Використання minted для імпорту файлу коду](/files/861fda300a4c9aa6c9e14dc36b693f82ae1f8c31)

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

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

## Однорядковий код

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

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

[Відкрити цей приклад в 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)

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

![Приклад однорядкового коду з minted](/files/3c545df039128f16b25ba316862d23b8769ace4f)

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

## Користувацькі лексери

**(Будь ласка, зауважте, що через зміни в `minted` починаючи з 2023 року, наведений нижче підхід працюватиме лише в** [**TeX Live 2022 або раніших**](/latex/uk/baza-znan/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

За замовчуванням, `minted` підтримує лише мови з лексерами, які вже встановлено або зареєстровано в `pygmentize`. Якщо ви написали власний лексер або хочете використати лексер для мови, яка ще не встановлена в Overleaf, ви все одно можете використати його у власному проєкті Overleaf за допомогою підходу, згаданого [тут](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

Припустімо, що ви визначили лексер у файлі `nl-lexer.py`, що містить клас `NetLogoLexer` для мови NetLogo. Завантажте `nl-lexer.py` до вашого проєкту Overleaf, а потім вкажіть `nl-lexer.py:NetLogoLexer` як «назву мови» під час використання `minted`. Наприклад:

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... ваш код тут ...
\end{minted}
```

[Ось](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) ще один приклад для мови ImageJ Macro.

## Кольори та таблиці стилів

Схеми кольорів, що використовуються для підсвічування коду, зберігаються в таблицях стилів. Ви можете створити власну або використати одну з уже доступних у вашій дистрибуції LaTeX. Див. [довідковий посібник](#reference-guide) список таблиць стилів, що входять до [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 #щоб стати матрицею інцидентності
    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}
```

[Відкрити цей приклад в 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)

Використання `borland` таблиці стилів дає такий результат:

![Вивід пакета minted із використанням таблиці стилів borland](/files/c48781b0e6e66002d45f1edd9054f85e7f90118c)

Синтаксис встановлення стилю кольорів простий: команда `\usemintedstyle{borland}` використовує колірну тему `borland` для форматування вихідного коду. Більше схем кольорів можна знайти в [довідковий посібник](#reference-guide).

## Підписи, мітки та список лістингів

Лістинги коду, відформатовані за допомогою **minted** можна включати у плаваючий елемент, так само як і [рисунки](/latex/uk/inshi-temi/27-inserting-images.md#positioning) та [таблиці](/latex/uk/risunki-ta-tablici/01-tables.md#positioning-tables). Лістингам коду можна призначати підписи та мітки, а потім на них можна посилатися й включати до «Списку лістингів».

```latex
\documentclass{article}
\usepackage{minted}
\title{Приклади коду лістингів}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Приклад із зовнішнього файлу}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("Hello, World!"); /*printf() виводить рядок у лапках*/
   return 0;
}
\end{minted}
\caption{Hello World мовою C}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--визначає функцію факторіала
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("введіть число:")
a = io.read("*number") -- зчитати число
print(fact(a))
\end{minted}
\caption{Приклад із посібника Lua}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} чудово виконує верстку лістингів \ref{listing:1}, \ref{listing:2} та \ref{listing:3}.
\renewcommand\listoflistingscaption{Список вихідного коду}
\listoflistings
\end{document}
```

[Відкрити цей приклад в 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)

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

![Приклад фрагментів коду лістингу](/files/7054702a453f38aa9ca5ec0bec3e57c86f8787cb)

Щоб надрукувати список з усіма елементами «listing», використовуйте `\listoflistings`. У наведеному вище прикладі стандартний заголовок `Список лістингів` змінено на `Список вихідного коду` за допомогою

```latex
\renewcommand\listoflistingscaption{Список вихідного коду}
\listoflistings % Тепер надрукуйте список
```

На другій сторінці, створеній наведеним вище прикладом, міститься такий лістинг:

![Приклад лістингу вихідного коду](/files/0847b4bf11424abef82d049677a0d0166fb78133)

## Довідковий посібник

**Колірні стилі для minted**

| назва    | вивід                                                                 | назва    | вивід                                                                  |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/e8901e8bfacb61342dcb395071391044d4270ebc) | fruity   | ![MintedStyles10.png](/files/8d02b0993488087d399c505f3c25672a31fd76f1) |
| rrt      | ![MintedStyles2.png](/files/d3ac15853aaf559b5c4545703ecb7c4de64b26e0) | autumn   | ![MintedStyles11.png](/files/d0ebc64eea513f072fa11aaad8b9556fffa8bfa4) |
| perldoc  | ![MintedStyles3.png](/files/35df139076aca3b347bed96e1475fdaa585a0c7b) | bw       | ![MintedStyles12.png](/files/acebac6880e6eeabdcc3972ea93c6493aa6c5c74) |
| borland  | ![MintedStyles4.png](/files/ff11fd71c982cf6c07b062da588f422386504f09) | emacs    | ![MintedStyles13.png](/files/b844152c694b05bd9b693d14b83b0553617d1cf6) |
| colorful | ![MintedStyles5.png](/files/e84a866f00d2d86ae9f776800f24c15bb4f8641d) | vim      | ![MintedStyles14.png](/files/d5d5aaffcbaab51ef9d00cf0c9771cfe26529739) |
| murphy   | ![MintedStyles6.png](/files/7c375c05777d4e0a2bcb61f3b76c2bd7d83f3f42) | pastie   | ![MintedStyles15.png](/files/8aaf1026c1e48d30222b349e699d60a8d578cf88) |
| vs       | ![MintedStyles7.png](/files/d1bc73e666c117f414584dbec8a309c1d84c04ae) | friendly | ![MintedStyles16.png](/files/bc4d726e1a4c6c5091adf2bbf71728a9626d6cdd) |
| trac     | ![MintedStyles8.png](/files/71404c035431c8bc6c9a0478b97e68664b04efd8) | native   | ![MintedStyles17.png](/files/15ac7927d1ffe77554f73194c43d6c9499401b88) |
| tango    | ![MintedStyles9.png](/files/3e57f876bed2994856a5035f690ec4825e10029a) | monokai  | ![MintedStyles18.png](/files/97084dd2ab528af3096b2e78e87a30c9c4f418b5) |

Деякі колірні схеми для читабельності потребують темного тла.

**Основні підтримувані мови програмування та файли конфігурації**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| 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      | raw         | ruby      |
| rhtml    | sass       | scheme      | smalltalk |
| sql      | ssp        | tcl         | tea       |
| tex      | текст      | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## Додаткове читання

Докладніше див.:

* [Довжини в LaTeX](/latex/uk/formatuvannya/01-lengths-in-latex.md)
* [Лістинг коду](/latex/uk/formatuvannya/11-code-listing.md)
* [Лічильники](/latex/uk/formatuvannya/10-counters.md)
* [Використання кольорів у LaTeX](/latex/uk/formatuvannya/13-using-colors-in-latex.md)
* [Розміри, гарнітури та стилі шрифтів](/latex/uk/shrifti/01-font-sizes-families-and-styles.md)
* [Гарнітури шрифтів](/latex/uk/shrifti/02-font-typefaces.md)
* [Керування у великому проєкті](/latex/uk/struktura-dokumenta/07-management-in-a-large-project.md)
* [Багатофайлові проєкти LaTeX](/latex/uk/struktura-dokumenta/08-multi-file-latex-projects.md)
* [Зміст](/latex/uk/struktura-dokumenta/02-table-of-contents.md)
* [Односторонні та двосторонні документи](/latex/uk/formatuvannya/08-single-sided-and-double-sided-documents.md)
* [Функція **minted** документація пакета](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/uk/formatuvannya/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.
