> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/latex/uk/specializovani/04-molecular-orbital-diagrams.md).

# Діаграми молекулярних орбіталей

Ця стаття містить короткий вступ до створення [діаграм молекулярних орбіталей](https://en.wikipedia.org/wiki/Molecular_orbital_diagram) у LaTeX за допомогою [`modiagram` accents](https://ctan.org/pkg/modiagram?lang=en). Читачам наполегливо рекомендується звернутися до [`modiagram` документація пакета](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf) яка містить численні корисні приклади, що демонструють її численні можливості — набагато більше, ніж ми можемо розглянути в цій короткій статті.

Щоб отримати інформацію про більш традиційні *діаграми молекулярної структури* дивіться нашу документацію про [хімічні формули](/latex/uk/specializovani/02-chemistry-formulae.md).

## Вступ

Молекулярні діаграми створюються за допомогою [`modiagram` accents](https://ctan.org/pkg/modiagram?lang=en) який ви імпортуєте до свого документа, додавши до його преамбули такий рядок:

`\usepackage{modiagram}`\[$$\langle$$`параметрів`$$\rangle$$]

Набір $$\langle$$`параметрів`$$\rangle$$ перелічено та продемонстровано в [документація пакета](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf).

Щоб застосувати параметри пакета $$\langle$$`параметрів`$$\rangle$$ *глобально* ви можете

* задати їх під час завантаження пакета через `\usepackage{modiagram}`\[$$\langle$$`параметрів`$$\rangle$$], або
* використати команду налаштування `\setmodiagram`{$$\langle$$`параметрів`$$\rangle$$}

Діаграми МО створюються за допомогою `modiagram` середовища, яке підтримує локальне використання пакета $$\langle$$`параметрів`$$\rangle$$:

`\begin{modiagram}`\[$$\langle$$`параметрів`$$\rangle$$] ...

`\end{modiagram}`

Наступний приклад демонструє мінімальне `modiagram` середовище без будь-якого використання $$\langle$$`параметрів`$$\rangle$$:

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}

Перший приклад атомів:

\begin{modiagram}
\atom{left}{1s, 2s, 2p}
\end{modiagram}
\end{document}
```

[Відкрийте цей приклад в Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=example+of+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%0AFirst+example+atoms%3A%0A%0A%5Cbegin%7Bmodiagram%7D%0A%5Catom%7Bleft%7D%7B1s%2C+2s%2C+2p%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![Приклад молекулярної діаграми, створеної в LaTeX](/files/d53d8e3e1a6b593b65edd553ae7b9aeb554b98f7)

Основна команда для побудови діаграм МО — це `\atom` яка, як показано у прикладі вище, приймає два аргументи:

* `left`: вирівнювання атома.
* `1s, 2s, 2p`: підрівні енергії, які потрібно зобразити. Їх можна додатково налаштувати, як ви дізнаєтеся в [наступний розділ](#atoms).

## Атоми

Ви можете передати команді, поданій у вступному прикладі, додаткову інформацію про атомні орбіталі.

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}

\begin{modiagram}
 \atom{right}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }

 \atom{left}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }
 \end{modiagram}
\end{document}
```

[Відкрийте цей приклад в Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=example+of+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bright%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%0A+%5Catom%7Bleft%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A+%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![приклад атомних орбіталей](/files/87952dac961395bb6de486de4c9f693d10ed0937)

У цьому прикладі зображено два однакові атоми, вирівняні ліворуч і праворуч відповідно.

Дотримуючись стилю `modiagram` документації пакета, загальний синтаксис створення атомів можна записати так:

`\atom`\[$$\langle$$`назва`$$\rangle$$]{$$\langle$$`left`$$\rangle$$|$$\langle$$`right`$$\rangle$$}{$$\langle$$`AO-spec`$$\rangle$$}

де

* $$\langle$$`назва`$$\rangle$$ це необов’язкова назва атома
* $$\langle$$`left`$$\rangle$$ та $$\langle$$`right`$$\rangle$$ визначають розташування на діаграмі
* $$\langle$$`AO-spec`$$\rangle$$ це специфікація атомної орбіталі.

Функція $$\langle$$`AO-spec`$$\rangle$$ має загальний вигляд

```latex
sub-level = {energy; specifications}
```

де

* `підрівень` може бути `1s`, `2s` або `2p`
* `енергія` це енергетичний рівень, число, яке визначає вертикальний інтервал на діаграмі. Якщо опущено, встановлюється 0.
* `специфікації` це список спінів електронів у кожній орбіталі, розділений комами. Можливі значення: `вгору`, `вниз`, `пара` та empty (потрібно лише ввести крапку з комою) для порожньої орбіталі. Якщо опущено, встановлюється `пара`.

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

* `1s = { 0; pair}`. Підрівень `1s` знаходиться на `0` енергетичному рівні; орбіталь містить два (спарені) електрони.
* `2s = { 1; pair}`. Підрівень `2s` зображений на `1` енергетичному рівні; у цій орбіталі є два електрони.
* `2p = {1.5; up, down}`. Підрівень `2p` зображений на енергетичному рівні `1.5`, тобто на діаграмі вертикальний інтервал встановлено на 1.5; цей підрівень має два електрони: один зі спіном `вгору` у першій орбіталі, а інший зі спіном `вниз` у другій орбіталі.

Ті самі команди повторюються для другого атома праворуч.

Щоб відобразити (необов’язкову) `назва` назву атома, використайте `modiagram` середовище з `[names]` параметром:

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}[names]
 \atom[Атом праворуч]{right}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }

 \atom[Атом ліворуч]{left}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }
\end{modiagram}
\end{document}
```

[Відкрийте цей приклад в Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+names+option+in+a+molecular+diagram\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%5Bnames%5D%0A+%5Catom%5BAtom+on+the+right%5D%7Bright%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%0A+%5Catom%5BAtom+on+the+left%5D%7Bleft%7D%7B%0A++++1s+%3D+%7B+0%3B+pair%7D+%2C%0A++++2s+%3D+%7B+1%3B+pair%7D+%2C%0A++++2p+%3D+%7B1.5%3B+up%2C+down+%7D%0A+%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![Приклад молекулярної орбіталі](/files/816abc02d9620d978bf25c83a774fdc1c2ed0d09)

## Молекули

Синтаксис для молекул дуже схожий на синтаксис [`\atom`](#atoms) і, у стилі документації, може бути записаний так:

`\molecule`\[$$\langle$$`назва`$$\rangle$$]{$$\langle$$`MO-spec`$$\rangle$$}

де

* $$\langle$$`назва`$$\rangle$$ це необов’язковий підпис молекули
* $$\langle$$`MO-spec`$$\rangle$$ це специфікація молекулярної орбіталі

Енергетичні підрівні `1s`, `2s` та `2p` стають `1sMO`, `2sMO` та `2pMO` відповідно. Ось базовий приклад:

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{1s}
 \atom{right}{1s={;up}}
 \molecule{
    1sMO={0.75;pair,up}
  }
\end{modiagram}
\end{document}
```

[Відкрити цей приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Molecule+example+with+modiagram+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B1s%7D%0A+%5Catom%7Bright%7D%7B1s%3D%7B%3Bup%7D%7D%0A+%5Cmolecule%7B%0A++++1sMO%3D%7B0.75%3Bpair%2Cup%7D%0A++%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![приклад діаграми молекули](/files/cf2a34b7b596aa22aca50267039a830f05237dd1)

У прикладі вище специфікація молекулярної орбіталі ($$\langle$$`MO-spec`$$\rangle$$ ) є

```latex
1sMO={0.75;pair,up}
```

де

* `0.75` тепер є співвідношенням *(приріст енергії)/(втрата енергії)*.
* `pair, up` є спінами електронів у зв’язувальній та антизв’язувальній молекулярних орбіталях відповідно.

Наступний, дещо складніший, приклад допоможе вам зрозуміти синтаксис:

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{
      1s, 2s, 2p = {;pair,up,up}
  }
  \atom{right}{
      1s, 2s, 2p = {;pair,up,up}
  }
  \molecule{
      1sMO, 2sMO, 2pMO = {;pair,pair,pair,up,up}
  }
\end{modiagram}
\end{document}
```

[Відкрити цей приклад в Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+elaborate+modiagram+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B%0A++++++1s%2C+2s%2C+2p+%3D+%7B%3Bpair%2Cup%2Cup%7D%0A++%7D%0A++%5Catom%7Bright%7D%7B%0A++++++1s%2C+2s%2C+2p+%3D+%7B%3Bpair%2Cup%2Cup%7D%0A++%7D%0A++%5Cmolecule%7B%0A++++++1sMO%2C+2sMO%2C+2pMO+%3D+%7B%3Bpair%2Cpair%2Cpair%2Cup%2Cup%7D%0A++%7D%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![розгорнутий приклад молекулярної орбіталі](/files/7afce0a9f7cbbaf8dcf29e63b3352356a16bea0f)

По три атоми розміщено з кожного боку діаграми, а відповідна молекула — посередині.

## Схема іменування

Наступна діаграма відтворена з [`modiagram` accents](https://ctan.org/pkg/modiagram?lang=en) документації. Вона містить назви (мітки), що використовуються для орбіталей, які є вузлами в `tikzpicture` і, таким чином, можуть використовуватися в стандартних командах малювання TikZ у `modiagram` середовищі.

![назви орбіталей у modiagram](/files/b6689e967708eb659ce52374cabc78a8467c881b)

Ось приклад використання назви антизв’язувальної орбіталі `1sigma*` для відносного позиціонування.

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}
 \atom{left}{1s}
 \atom{right}{1s={;up}}
 \molecule{
    1sMO={;pair,up}
 }
 \draw[<-,shorten <=8pt,shorten >=15pt,blue]
 (1sigma*) --++(2,1) node {антизв’язувальна МО};
\end{modiagram}
\end{document}
```

[Відкрийте цей приклад в Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+orbital+labels+in+an+modiagram+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmodiagram%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmodiagram%7D%0A+%5Catom%7Bleft%7D%7B1s%7D%0A+%5Catom%7Bright%7D%7B1s%3D%7B%3Bup%7D%7D%0A+%5Cmolecule%7B%0A++++1sMO%3D%7B%3Bpair%2Cup%7D%0A+%7D%0A+%5Cdraw%5B%3C-%2Cshorten+%3C%3D8pt%2Cshorten+%3E%3D15pt%2Cblue%5D%0A+%281sigma%2A%29+--%2B%2B%282%2C1%29+node+%7Banti-bonding+MO%7D%3B%0A%5Cend%7Bmodiagram%7D%0A%5Cend%7Bdocument%7D)

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

![приклад орбіталі з антизв’язуванням](/files/0cdc34342bb54623777bebe1719ea6a0ebe548ee)

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

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

* [Хімічні формули](/latex/uk/specializovani/02-chemistry-formulae.md)
* [Діаграми Фейнмана](/latex/uk/specializovani/03-feynman-diagrams.md)
* [Пакет TikZ](/latex/uk/risunki-ta-tablici/05-tikz-package.md)
* [Малювання діаграм безпосередньо в LaTeX](/latex/uk/risunki-ta-tablici/04-picture-environment.md)
* [Вставлення зображень](/latex/uk/inshi-temi/27-inserting-images.md)
* [Список грецьких літер і математичних символів](/latex/uk/matematika/11-list-of-greek-letters-and-math-symbols.md)
* [Функція `modiagram` manual](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.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://ayakaleaf-pro.ayaka.space/latex/uk/specializovani/04-molecular-orbital-diagrams.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.
