> 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/overleaf-learn-latex-pt/especifico-da-area/04-molecular-orbital-diagrams.md).

# Diagramas de orbitais moleculares

Este artigo fornece uma breve introdução à criação de [diagramas de orbitais moleculares](https://en.wikipedia.org/wiki/Molecular_orbital_diagram) em LaTeX usando o [`modiagram` pacote](https://ctan.org/pkg/modiagram?lang=en). Os leitores são fortemente encorajados a consultar o [`modiagram` documentação do pacote](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf) que contém inúmeros exemplos úteis para demonstrar as suas muitas funcionalidades — muito mais do que podemos abordar neste breve artigo.

Para informações sobre os mais tradicionais *diagramas de estrutura molecular* consulte a nossa documentação sobre [fórmulas de química](/latex/overleaf-learn-latex-pt/especifico-da-area/02-chemistry-formulae.md).

## Introdução

Os diagramas moleculares são criados usando o [`modiagram` pacote](https://ctan.org/pkg/modiagram?lang=en) que importa para o seu documento adicionando a seguinte linha ao preâmbulo:

`\usepackage{modiagram}`\[$$\langle$$`opções`$$\rangle$$]

O conjunto de $$\langle$$`opções`$$\rangle$$ estão listados e demonstrados no [documentação do pacote](http://mirrors.ctan.org/macros/latex/contrib/modiagram/modiagram_en.pdf).

Para aplicar o pacote $$\langle$$`opções`$$\rangle$$ *globalmente* pode

* defini-los quando carrega o pacote através de `\usepackage{modiagram}`\[$$\langle$$`opções`$$\rangle$$], ou
* usar o comando de configuração `\setmodiagram`{$$\langle$$`opções`$$\rangle$$}

Os diagramas de OM são criados usando o `modiagram` ambiente, que suporta o uso local das opções do pacote $$\langle$$`opções`$$\rangle$$:

`\begin{modiagram}`\[$$\langle$$`opções`$$\rangle$$] ...

`\end{modiagram}`

O exemplo seguinte demonstra um `modiagram` ambiente mínimo sem usar qualquer $$\langle$$`opções`$$\rangle$$:

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

Primeiro exemplo de átomos:

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

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![Exemplo de um diagrama molecular produzido em LaTeX](/files/9ec92acabb35d8860e6fd1d8f0cf6fe33d468cd0)

O comando básico para desenhar diagramas de OM é `\atom` que, como demonstrado no exemplo acima, recebe dois argumentos:

* `esquerda`: o alinhamento do átomo.
* `1s, 2s, 2p`: os subníveis de energia a desenhar. Estes podem ser mais personalizados, como aprenderá no [secção seguinte](#atoms).

## Átomos

Pode passar alguma informação extra sobre os orbitais atómicos para o comando apresentado no exemplo introdutório.

```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}
```

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![exemplo de orbitais atómicos](/files/51591fc6181acd0de16e0257273b01f91b047722)

Neste exemplo, são desenhados dois átomos idênticos, alinhados à esquerda e à direita, respetivamente.

Seguindo o estilo da `modiagram` documentação do pacote, a sintaxe genérica para criar átomos pode ser escrita como:

`\atom`\[$$\langle$$`nome`$$\rangle$$]{$$\langle$$`esquerda`$$\rangle$$|$$\langle$$`direita`$$\rangle$$}{$$\langle$$`AO-spec`$$\rangle$$}

onde

* $$\langle$$`nome`$$\rangle$$ é um nome opcional para o átomo
* $$\langle$$`esquerda`$$\rangle$$ e $$\langle$$`direita`$$\rangle$$ determina a posição no diagrama
* $$\langle$$`AO-spec`$$\rangle$$ é a especificação do orbital atómico.

O $$\langle$$`AO-spec`$$\rangle$$ tem a forma geral

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

onde

* `subnível` pode ser `1s`, `2s` ou `2p`
* `energy` é o nível de energia, um número que determina o espaçamento vertical no diagrama. Se for omitido, é definido como 0.
* `especificações` é uma lista, separada por vírgulas, dos spins dos eletrões contidos em cada orbital. Os valores possíveis são `para cima`, `para baixo`, `par` e vazio (apenas o ponto e vírgula é escrito) para um orbital vazio. Se for omitido, é definido como `par`.

Aqui está uma descrição dos comandos usados no exemplo anterior:

* `1s = { 0; pair}`. O subnível `1s` está no `0` nível de energia, o orbital contém dois eletrões (em par).
* `2s = { 1; pair}`. O subnível `2s` desenhado no `1` nível de energia, há dois eletrões neste orbital.
* `2p = {1.5; up, down}`. O subnível `2p` desenhado no nível de energia `1.5`, ou seja, no diagrama o espaçamento vertical está definido como 1.5; este subnível de energia tem dois eletrões: um com spin `para cima` no primeiro orbital e outro com spin `para baixo` no segundo orbital.

Os mesmos comandos são repetidos para o segundo átomo à direita.

Para exibir o (opcional) `nome` de um átomo use um `modiagram` ambiente com a opção `[names]` :

```latex
\documentclass{article}
\usepackage{modiagram}
\begin{document}
\begin{modiagram}[names]
 \atom[Átomo à direita]{right}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }

 \atom[Átomo à esquerda]{left}{
    1s = { 0; pair} ,
    2s = { 1; pair} ,
    2p = {1.5; up, down }
 }
\end{modiagram}
\end{document}
```

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![Exemplo de orbital molecular](/files/e7804dcab8705edf47edde5315f31fe8c9b719b3)

## Moléculas

A sintaxe para moléculas é muito semelhante à do [`\atom`](#atoms) e, no estilo da documentação, pode ser escrita como:

`\molecule`\[$$\langle$$`nome`$$\rangle$$]{$$\langle$$`MO-spec`$$\rangle$$}

onde

* $$\langle$$`nome`$$\rangle$$ é uma legenda opcional da molécula
* $$\langle$$`MO-spec`$$\rangle$$ é a especificação do orbital molecular

Os subníveis de energia `1s`, `2s` e `2p` tornam-se `1sMO`, `2sMO` e `2pMO` respetivamente. Aqui está um exemplo básico:

```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}
```

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![exemplo de diagrama molecular](/files/2893d79e80fb892cea2deb6fa470f9de28120dda)

No exemplo acima, a especificação do orbital molecular ($$\langle$$`MO-spec`$$\rangle$$ ) é

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

onde

* `0.75` é agora a razão *(ganho de energia)/(perda de energia)*.
* `par, para cima` são os spins dos eletrões nos orbitais moleculares ligante e antiligante, respetivamente.

O exemplo seguinte, um pouco mais elaborado, deve ajudá-lo a compreender a sintaxe:

```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}
```

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![exemplo elaborado de orbital molecular](/files/19c576f1e5dd904c00c69c2ffd3dd73dcaf1f93e)

Três átomos são colocados de cada lado do diagrama e a molécula correspondente fica no meio.

## Esquema de nomenclatura

O diagrama seguinte é reproduzido da [`modiagram` pacote](https://ctan.org/pkg/modiagram?lang=en) documentação. Contém os nomes (rótulos) usados para os orbitais, que são nós num `tikzpicture` e, por isso, podem ser usados em comandos de desenho TikZ padrão dentro de um `modiagram` ambiente.

![nomes do modiagram para orbitais](/files/7a2c7f75c63bf3a8204436851d8ed720b8602ef3)

Aqui está um exemplo usando o nome do orbital antiligante `1sigma*` para posicionamento relativo.

```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 {OM antiligante};
\end{modiagram}
\end{document}
```

[Abra este exemplo no 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)

Este exemplo produz a seguinte saída:

![exemplo de orbital antiligante](/files/540668bd99d0b3d55e719b1926b60d352376a75f)

## Leitura adicional

Para mais informações, consulta:

* [Fórmulas de química](/latex/overleaf-learn-latex-pt/especifico-da-area/02-chemistry-formulae.md)
* [Diagramas de Feynman](/latex/overleaf-learn-latex-pt/especifico-da-area/03-feynman-diagrams.md)
* [Pacote TikZ](/latex/overleaf-learn-latex-pt/figuras-e-tabelas/05-tikz-package.md)
* [Desenhar diagramas diretamente em LaTeX](/latex/overleaf-learn-latex-pt/figuras-e-tabelas/04-picture-environment.md)
* [Inserção de imagens](/latex/overleaf-learn-latex-pt/mais-topicos/27-inserting-images.md)
* [Lista de letras gregas e símbolos matemáticos](/latex/overleaf-learn-latex-pt/matematica/11-list-of-greek-letters-and-math-symbols.md)
* [O `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/overleaf-learn-latex-pt/especifico-da-area/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.
