> 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/struktura-dokumenta/06-nomenclatures.md).

# Номенклатури

## Вступ

Список абревіатур і символів є поширеним у багатьох наукових документах. Такі списки можна створювати в LaTeX за допомогою `nomencl` пакета. У цій статті пояснюється, як створювати номенклатури, налаштовуючи порядок і підгрупування символів.

Елементи номенклатури працюють майже так само, як елементи покажчика:

```latex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\begin{document}
Ось приклад:
\nomenclature{\(c\)}{Швидкість світла у вакуумі}
\nomenclature{\(h\)}{Стала Планка}

\printnomenclature
\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures01OLV2.png](/files/b762d7c6bc67ff4f584e6a7048e5b82cb0afe339)

Як зазвичай, пакет імпортується в преамбулі за допомогою `\usepackage{nomencl}`. Три основні команди для створення номенклатур такі:

* `\makenomenclature`. Зазвичай розміщується одразу після імпорту пакета.
* `\nomenclature`. Використовується для визначення самих елементів номенклатури. Приймає два аргументи: символ і відповідний опис.
* `\printnomenclatures`. Ця команда виведе список номенклатури.

## Базовий синтаксис

Додаткові параметри можна використовувати під час імпорту `nomencl` пакета. Наступний приклад показує, як додати номенклатуру до змісту та як змінити мову за замовчуванням:

```latex
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[intoc, spanish]{nomencl}
\makenomenclature

\begin{document}
\tableofcontents

\section{Primera Sección}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortisfacilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdie...

\nomenclature{\(c\)}{Швидкість світла у вакуумі}
\nomenclature{\(h\)}{Стала Планка}

\printnomenclature
\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bspanish%5D%7Bbabel%7D%0A%5Cusepackage%5Bintoc%2C+spanish%5D%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0A%5Ctableofcontents%0A%0A%5Csection%7BPrimera+Secci%C3%B3n%7D%0A%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Etiam+lobortisfacilisis+sem.+Nullam+nec+mi+et+neque+pharetra+sollicitudin.+Praesent+imperdie...%0A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures02OLV2.png](/files/d4667b5e949b11990701d874592c34779452fe27)

Додаткові параметри, використані тут під час імпорту пакета, такі:

* `intoc` Додає **Номенклатуру** до змісту.
* `spanish` Змінює мову, відповідно перекладаючи стандартний заголовок *Номенклатури* . Підтримувані мови: `croatian`, `danish`, `english`, `французька`, `german`, `italian`, `polish`, `portuguese`, `російську`, `spanish` та `ukranian`.

Інші корисні можливості `nomencl` пакета — це можливість вручну встановлювати заголовок номенклатури та додавати додаткову примітку.

```latex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\renewcommand{\nomname}{Список символів}

\renewcommand{\nompreamble}{Наступний список описує кілька символів, які згодом будуть використані в основному тексті документа}

\begin{document}
Ось приклад:

\nomenclature{\(c\)}{Швидкість світла у вакуумі}
\nomenclature{\(h\)}{Стала Планка}

\printnomenclature
\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Crenewcommand%7B%5Cnomname%7D%7BList+of+Symbols%7D%0A%0A%5Crenewcommand%7B%5Cnompreamble%7D%7BThe+next+list+describes+several+symbols+that+will+be+later+used+within+the+body+of+the+document%7D%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures03verbOLV2.png](/files/109ebbc6746ff785548aaf6c385ecd15cf571c2f)

Рядок

```
\renewcommand{\nomname}{Список символів}
```

змінює заголовок за замовчуванням.

Команда

```
\renewcommand{\nompreamble}{Наступний список...}
```

вставляє текст між заголовком і списком символів.

## Групування

Щоб згрупувати символи залежно від їхнього типу, потрібно виконати додаткову роботу. Ми додаємо префікс до кожного символу та використовуємо `etoolbox` пакет для порівняння префіксів.

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\makenomenclature

%% Цей код створює групи
% -----------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{P}{Фізичні константи}{%
  \ifstrequal{#1}{N}{Множини чисел}{%
  \ifstrequal{#1}{O}{Інші символи}{}}}%
]}
% -----------------------------------------

\begin{document}
Ось приклад:

\nomenclature[P]{\(c\)}{Швидкість світла у вакуумі}
\nomenclature[P]{\(h\)}{Стала Планка}
\nomenclature[P]{\(G\)}{Гравітаційна стала}
\nomenclature[N]{\(\mathbb{R}\)}{Дійсні числа}
\nomenclature[N]{\(\mathbb{C}\)}{Комплексні числа}
\nomenclature[N]{\(\mathbb{H}\)}{Кватерніони}
\nomenclature[O]{\(V\)}{Сталий об'єм}
\nomenclature[O]{\(\rho\)}{Індекс тертя}

\printnomenclature
\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%25%25+This+code+creates+the+groups%0A%25+-----------------------------------------%0A%5Cusepackage%7Betoolbox%7D%0A%5Crenewcommand%5Cnomgroup%5B1%5D%7B%25%0A++%5Citem%5B%5Cbfseries%0A++%5Cifstrequal%7B%231%7D%7BP%7D%7BPhysics+constants%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BN%7D%7BNumber+sets%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BO%7D%7BOther+symbols%7D%7B%7D%7D%7D%25%0A%5D%7D%0A%25+-----------------------------------------%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5BP%5D%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%5BP%5D%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%5Cnomenclature%5BP%5D%7B%5C%28G%5C%29%7D%7BGravitational+constant%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BR%7D%5C%29%7D%7BReal+numbers%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BC%7D%5C%29%7D%7BComplex+numbers%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BH%7D%5C%29%7D%7BQuaternions%7D%0A%5Cnomenclature%5BO%5D%7B%5C%28V%5C%29%7D%7BConstant+volume%7D%0A%5Cnomenclature%5BO%5D%7B%5C%28%5Crho%5C%29%7D%7BFriction+index%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures04OLV2.png](/files/f913481c1454ea3da5aeaca6337a9bbf9b852fe9)

Додаються деякі додаткові групи. Код для цього не такий простий, він використовує команду `\ifstrequal{}{}{}{}`, перші два аргументи — це рядки, які порівнюються; якщо вони рівні, термін додається до групи, інакше перевіряється наступна вкладена умова.

Зверніть увагу, що тепер кожна `\nomenclature` команда має додатковий аргумент — префікс — у квадратних дужках; він використовується в коді групування.

Якщо `etoolbox` якщо він недоступний, можна скористатися `ifthen` пакетом замість нього, який надає умовну конструкцію `\ifthenelse{}{}{}`, але синтаксис трохи складніший:

```latex
\usepackage{ifthen}
  \renewcommand{\nomgroup}[1]{%
  \item[\bfseries
  \ifthenelse{\equal{#1}{P}}{Фізичні константи}{%
  \ifthenelse{\equal{#1}{O}}{Інші символи}{%
  \ifthenelse{\equal{#1}{N}}{Множини чисел}{}}}%
  ]}
```

Це створить ті самі групи номенклатури.

## Додавання одиниць для фізичних констант

Ще однією цікавою можливістю є використання `siunitx` пакета для додавання одиниць із вирівнюванням праворуч від відповідних елементів. Для цього потрібно визначити `nomunit` макрос, як показано в наведеному нижче прикладі:

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\usepackage{siunitx}
\usepackage{hyperref}
\makenomenclature
\hypersetup{
    colorlinks=true,
    urlcolor=blue,
}
%% Це додасть підгрупи
%----------------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Фізичні константи}{%
  \ifstrequal{#1}{B}{Множини чисел}{%
  \ifstrequal{#1}{C}{Інші символи}{}}}%
]}
%----------------------------------------------

%% Це додасть одиниці
%----------------------------------------------
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}}
%----------------------------------------------

\title{Приклад номенклатур}
\author{Команда Overleaf}
\date{\today}

\begin{document}
\maketitle

\noindent Це приклад, що показує, як працює пакет \texttt{nomencl}, з одиницями, набраними за допомогою пакета \texttt{siunitx}. Для наведення значень фізичних констант і відповідних їм одиниць було використано дані з \href{https://www.nist.gov/pml/fundamental-physical-constants}{NIST}; посилання надано через пакет \texttt{hyperref}:

\nomenclature[A, 02]{\(c\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?c}
{Швидкість світла у вакуумі}
\nomunit{\SI{299792458}{\meter\per\second}}}
\nomenclature[A, 03]{\(h\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?h}
{Стала Планка}
\nomunit{\SI[group-digits=false]{6.62607015e-34}{\joule\per\hertz}}}
\nomenclature[A, 01]{\(G\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?bg}
{Гравітаційна стала}
\nomunit{\SI[group-digits=false]{6.67430e-11}{\meter\cubed\per\kilogram\per\second\squared}}}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Дійсні числа}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Комплексні числа}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Кватерніони}
\nomenclature[C]{\(V\)}{Сталий об'єм}
\nomenclature[C]{\(\rho\)}{Індекс тертя}

\printnomenclature

\end{document}
```

[Відкрити в Overleaf (приклад із використанням `nomencl` та `siunitx` пакетів).](/latex/uk/struktura-dokumenta/06-nomenclatures.md)

![Nomcomplex.png](/files/050d95142fba2e2d9f47bbaf9ecc8a736beef2dd)

## Сортування елементів

Це порядок сортування за замовчуванням:

```latex
\documentclass{article}
\usepackage{nomencl}

\makenomenclature

\begin{document}
Ось приклад:

\nomenclature{\(+a\)}{Оператор}
\nomenclature{\(2a\)}{Число}
\nomenclature{\(:a\)}{Знак пунктуації}
\nomenclature{\(Aa\)}{Велика літера}
\nomenclature{\(aa\)}{Мала літера}
\nomenclature{\(\alpha\)}{Грецький символ}

\printnomenclature

\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+default+sort+order\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%7B%5C%28%2Ba%5C%29%7D%7BOperator%7D%0A%5Cnomenclature%7B%5C%282a%5C%29%7D%7BNumber%7D%0A%5Cnomenclature%7B%5C%28%3Aa%5C%29%7D%7BPunctuation+symbol%7D%0A%5Cnomenclature%7B%5C%28Aa%5C%29%7D%7BUppercase+letter%7D%0A%5Cnomenclature%7B%5C%28aa%5C%29%7D%7BLowercase+letter%7D%0A%5Cnomenclature%7B%5C%28%5Calpha%5C%29%7D%7BGreek+character%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures05OLV2.png](/files/4fb5299f1bded268d5c98a7d6d14fe1b55507961)

Зверніть увагу, що грецький символ з'явився перед алфавітними символами через зворотну скісну риску `\` % `\alpha`.

Так само, як і для групування, можна використовувати префікс для ручного сортування елементів номенклатури:

```latex
\documentclass{article}
\usepackage{nomencl}

\makenomenclature

\begin{document}
Ось приклад:

\nomenclature[06]{\(+a\)}{Оператор}
\nomenclature[03]{\(2a\)}{Число}
\nomenclature[05]{\(:a\)}{Знак пунктуації}
\nomenclature[04]{\(Aa\)}{Велика літера}
\nomenclature[01]{\(aa\)}{Мала літера}
\nomenclature[02]{\(\alpha\)}{Грецький символ}

\printnomenclature

\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Sorting+nomencl+entries\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5B06%5D%7B%5C%28%2Ba%5C%29%7D%7BOperator%7D%0A%5Cnomenclature%5B03%5D%7B%5C%282a%5C%29%7D%7BNumber%7D%0A%5Cnomenclature%5B05%5D%7B%5C%28%3Aa%5C%29%7D%7BPunctuation+symbol%7D%0A%5Cnomenclature%5B04%5D%7B%5C%28Aa%5C%29%7D%7BUppercase+letter%7D%0A%5Cnomenclature%5B01%5D%7B%5C%28aa%5C%29%7D%7BLowercase+letter%7D%0A%5Cnomenclature%5B02%5D%7B%5C%28%5Calpha%5C%29%7D%7BGreek+character%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures06OLV2.png](/files/0ddc50680d50c3d6fee859fd0fc7de35f1aa3a5d)

Число в квадратних дужках визначає порядок виведення відповідного символу. Можна також поєднувати групування та ручне сортування:

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\makenomenclature

\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Фізичні константи}{%
  \ifstrequal{#1}{B}{Множини чисел}{%
  \ifstrequal{#1}{C}{Інші символи}{}}}%
]}

\begin{document}
Ось приклад:

\nomenclature[A, 02]{\(c\)}{Швидкість світла у вакуумі}
\nomenclature[A, 03]{\(h\)}{Стала Планка}
\nomenclature[A, 01]{\(G\)}{Гравітаційна стала}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Дійсні числа}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Комплексні числа}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Октоніони}
\nomenclature[C]{\(V\)}{Сталий об'єм}
\nomenclature[C]{\(\rho\)}{Індекс тертя}

\printnomenclature

\end{document}
```

[Відкрийте цей `nomencl` приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Grouping+and+sorting+with+nomencl\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cusepackage%7Betoolbox%7D%0A%5Crenewcommand%5Cnomgroup%5B1%5D%7B%25%0A++%5Citem%5B%5Cbfseries%0A++%5Cifstrequal%7B%231%7D%7BA%7D%7BPhysics+Constants%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BB%7D%7BNumber+Sets%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BC%7D%7BOther+Symbols%7D%7B%7D%7D%7D%25%0A%5D%7D%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5BA%2C+02%5D%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%5BA%2C+03%5D%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%5Cnomenclature%5BA%2C+01%5D%7B%5C%28G%5C%29%7D%7BGravitational+constant%7D%0A%5Cnomenclature%5BB%2C+03%5D%7B%5C%28%5Cmathbb%7BR%7D%5C%29%7D%7BReal+numbers%7D%0A%5Cnomenclature%5BB%2C+02%5D%7B%5C%28%5Cmathbb%7BC%7D%5C%29%7D%7BComplex+numbers%7D%0A%5Cnomenclature%5BB%2C+01%5D%7B%5C%28%5Cmathbb%7BH%7D%5C%29%7D%7BOctonions%7D%0A%5Cnomenclature%5BC%5D%7B%5C%28V%5C%29%7D%7BConstant+volume%7D%0A%5Cnomenclature%5BC%5D%7B%5C%28%5Crho%5C%29%7D%7BFriction+index%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures07OLV2.png](/files/f559c4563f9642823cb96dfc2f2e8dc3dd1c60c8)

Зверніть увагу, що великі літери, використані для групування, відрізняються від тих, що використано в прикладі в попередньому розділі, тому що ця літера використовується для сортування груп.

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

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

* [Глосарії](/latex/uk/struktura-dokumenta/05-glossaries.md)
* [Багатофайлові проєкти LaTeX](/latex/uk/struktura-dokumenta/08-multi-file-latex-projects.md)
* [Вирівнювання тексту](/latex/uk/formatuvannya/06-text-alignment.md)
* [Жирний, курсив і підкреслення](/latex/uk/osnovi-latex/03-bold-italics-and-underlining.md)
* [Математичні вирази](/latex/uk/matematika/01-mathematical-expressions.md)
* [Створення та перевизначення макросів](/latex/uk/komandi/01-commands.md)
* [`nomencl` документація пакета](http://mirror.jmu.edu/pub/CTAN/macros/latex/contrib/nomencl/nomencl.pdf)
* [`ifthen` документація пакета](http://texdoc.net/texmf-dist/doc/latex/base/ifthen.pdf)
* [`etoolbox` документація пакета](http://mirror.math.ku.edu/tex-archive/macros/latex/contrib/etoolbox/etoolbox.pdf)


---

# 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/struktura-dokumenta/06-nomenclatures.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.
