> 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/overleaf-learn-latex-pt/estrutura-do-documento/06-nomenclatures.md).

# Nomenclaturas

## Introdução

Uma lista de abreviaturas e símbolos é comum em muitos documentos científicos. Esses tipos de listas podem ser criados com LaTeX por meio do `nomencl` pacote. Este artigo explica como criar nomenclaturas, personalizando a ordenação e a subdivisão dos símbolos.

As entradas de nomenclatura funcionam praticamente como entradas de índice:

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

\begin{document}
Aqui está um exemplo:
\nomenclature{\(c\)}{Velocidade da luz no vácuo}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Abra este `nomencl` exemplo no 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/b8b60f90871554caadc9f05411a4708d21349524)

Como de costume, o pacote é importado no preâmbulo por `\usepackage{nomencl}`. Os três comandos básicos para produzir as nomenclaturas são:

* `\makenomenclature`. Normalmente colocado logo após a importação do pacote.
* `\nomenclature`. Usado para definir as próprias entradas de nomenclatura. Recebe dois argumentos: o símbolo e a descrição correspondente.
* `\printnomenclatures`. Este comando imprimirá a lista de nomenclaturas.

## Sintaxe Básica

Opções adicionais podem ser usadas ao importar o `nomencl` pacote. O próximo exemplo mostra como adicionar a nomenclatura ao índice e como alterar o idioma padrão:

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

\begin{document}
\tableofcontents

\section{Primeira Seção}

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

\nomenclature{\(c\)}{Velocidade da luz no vácuo}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Abra este `nomencl` exemplo no 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/4ba3b0969674836cbff5e5a166cc39a0c20b9627)

As opções adicionais usadas aqui na importação do pacote são:

* `intoc` Adiciona a **Nomenclatura** ao índice.
* `espanhol` Altera o idioma, traduzindo o título padrão *Nomenclaturas* em conformidade. Os idiomas suportados são: `croata`, `dinamarquês`, `inglês`, `french`, `alemão`, `italiano`, `polaco`, `português`, `russa`, `espanhol` e `ucraniano`.

Outras funcionalidades úteis do `nomencl` pacote são a possibilidade de definir manualmente o título da nomenclatura e de adicionar uma anotação adicional.

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

\renewcommand{\nomname}{Lista de Símbolos}

\renewcommand{\nompreamble}{A lista seguinte descreve vários símbolos que serão mais tarde usados no corpo do documento}

\begin{document}
Aqui está um exemplo:

\nomenclature{\(c\)}{Velocidade da luz no vácuo}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Abra este `nomencl` exemplo no 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/8bb3c99638fb5c281168248c0ae47603902df4e7)

A linha

```
\renewcommand{\nomname}{Lista de Símbolos}
```

altera o título padrão.

O comando

```
\renewcommand{\nompreamble}{A lista seguinte...}
```

insere algum texto entre o título e a lista de símbolos.

## Agrupamento

Para agrupar os símbolos de acordo com o seu tipo, é necessário algum trabalho adicional. Adicionamos um prefixo a cada símbolo e usamos o `etoolbox` pacote para comparar os prefixos.

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

%% Este código cria os grupos
% -----------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{P}{Constantes físicas}{%
  \ifstrequal{#1}{N}{Conjuntos numéricos}{%
  \ifstrequal{#1}{O}{Outros símbolos}{}}}%
]}
% -----------------------------------------

\begin{document}
Aqui está um exemplo:

\nomenclature[P]{\(c\)}{Velocidade da luz no vácuo}
\nomenclature[P]{\(h\)}{Constante de Planck}
\nomenclature[P]{\(G\)}{Constante gravitacional}
\nomenclature[N]{\(\mathbb{R}\)}{Números reais}
\nomenclature[N]{\(\mathbb{C}\)}{Números complexos}
\nomenclature[N]{\(\mathbb{H}\)}{Quatérnios}
\nomenclature[O]{\(V\)}{Volume constante}
\nomenclature[O]{\(\rho\)}{Índice de atrito}

\printnomenclature
\end{document}
```

[Abra este `nomencl` exemplo no 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/31a636c69007f4cdd7af11ff1e88e8294096a669)

São adicionados alguns grupos extra. O código para isso não é tão simples; usa o comando `\ifstrequal{}{}{}{}`, os dois primeiros argumentos são as cadeias de caracteres a comparar; se forem iguais, o termo é adicionado ao grupo; caso contrário, a próxima condição aninhada é verificada.

Repare que agora cada `\nomenclature` comando tem um argumento adicional, o prefixo, entre parênteses retos; que é usado no código de agrupamento.

Se `etoolbox` não estiver disponível, pode-se usar o `ifthen` pacote em alternativa, que fornece a condicional `\ifthenelse{}{}{}`, mas a sintaxe é ligeiramente mais complexa:

```latex
\usepackage{ifthen}
  \renewcommand{\nomgroup}[1]{%
  \item[\bfseries
  \ifthenelse{\equal{#1}{P}}{Constantes físicas}{%
  \ifthenelse{\equal{#1}{O}}{Outros símbolos}{%
  \ifthenelse{\equal{#1}{N}}{Conjuntos numéricos}{}}}%
  ]}
```

Isto produzirá os mesmos grupos de nomenclatura.

## Adição de unidades para constantes físicas

Outra funcionalidade interessante é usar o `siunitx` pacote para adicionar unidades, alinhando-as à direita das entradas correspondentes. Para isso, é necessário definir a `nomunit` macro como mostrado no exemplo a seguir:

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\usepackage{siunitx}
\usepackage{hyperref}
\makenomenclature
\hypersetup{
    colorlinks=true,
    urlcolor=blue,
}
%% Isto adicionará os subgrupos
%----------------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Constantes físicas}{%
  \ifstrequal{#1}{B}{Conjuntos numéricos}{%
  \ifstrequal{#1}{C}{Outros símbolos}{}}}%
]}
%----------------------------------------------

%% Isto adicionará as unidades
%----------------------------------------------
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}}
%----------------------------------------------

\title{Exemplo de Nomenclaturas}
\author{Equipa do Overleaf}
\date{\today}

\begin{document}
\maketitle

\noindent Este é um exemplo para mostrar como o pacote \texttt{nomencl} funciona, com as unidades compostas através do pacote \texttt{siunitx}. A \href{https://www.nist.gov/pml/fundamental-physical-constants}{NIST} foi referenciada para fornecer os valores das constantes físicas e as respetivas unidades---os links são fornecidos através do pacote \texttt{hyperref}:

\nomenclature[A, 02]{\(c\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?c}
{Velocidade da luz no vácuo}
\nomunit{\SI{299792458}{\meter\per\second}}}
\nomenclature[A, 03]{\(h\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?h}
{Constante de Planck}
\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}
{Constante gravitacional}
\nomunit{\SI[group-digits=false]{6.67430e-11}{\meter\cubed\per\kilogram\per\second\squared}}}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Números reais}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Números complexos}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Quatérnios}
\nomenclature[C]{\(V\)}{Volume constante}
\nomenclature[C]{\(\rho\)}{Índice de atrito}

\printnomenclature

\end{document}
```

[Abrir no Overleaf (exemplo usando `nomencl` e `siunitx` pacotes).](/latex/overleaf-learn-latex-pt/estrutura-do-documento/06-nomenclatures.md)

![Nomcomplex.png](/files/df221b1460cb1ab9c611ee246e7c19083b79ec50)

## Ordenação das Entradas

Esta é a ordem de ordenação padrão:

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

\makenomenclature

\begin{document}
Aqui está um exemplo:

\nomenclature{\(+a\)}{Operador}
\nomenclature{\(2a\)}{Número}
\nomenclature{\(:a\)}{Símbolo de pontuação}
\nomenclature{\(Aa\)}{Letra maiúscula}
\nomenclature{\(aa\)}{Letra minúscula}
\nomenclature{\(\alpha\)}{Caractere grego}

\printnomenclature

\end{document}
```

[Abra este `nomencl` exemplo no 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/a3a7ccbc70f114928b39ac66a3c1fd9989ac6785)

Repare que o caractere grego apareceu antes dos caracteres alfabéticos por causa da barra invertida `\` em `\alpha`.

Tal como no agrupamento, é possível usar um prefixo para ordenar manualmente as entradas de nomenclatura:

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

\makenomenclature

\begin{document}
Aqui está um exemplo:

\nomenclature[06]{\(+a\)}{Operador}
\nomenclature[03]{\(2a\)}{Número}
\nomenclature[05]{\(:a\)}{Símbolo de pontuação}
\nomenclature[04]{\(Aa\)}{Letra maiúscula}
\nomenclature[01]{\(aa\)}{Letra minúscula}
\nomenclature[02]{\(\alpha\)}{Caractere grego}

\printnomenclature

\end{document}
```

[Abra este `nomencl` exemplo no 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/f5e4e5f0b741bf0c0b9c2e111d5c431ef04f1775)

O número dentro dos parênteses retos determina a ordem de impressão do símbolo correspondente. Também é possível combinar o agrupamento e a ordenação manual:

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

\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Constantes físicas}{%
  \ifstrequal{#1}{B}{Conjuntos numéricos}{%
  \ifstrequal{#1}{C}{Outros símbolos}{}}}%
]}

\begin{document}
Aqui está um exemplo:

\nomenclature[A, 02]{\(c\)}{Velocidade da luz no vácuo}
\nomenclature[A, 03]{\(h\)}{Constante de Planck}
\nomenclature[A, 01]{\(G\)}{Constante gravitacional}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Números reais}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Números complexos}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Octonions}
\nomenclature[C]{\(V\)}{Volume constante}
\nomenclature[C]{\(\rho\)}{Índice de atrito}

\printnomenclature

\end{document}
```

[Abra este `nomencl` exemplo no 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/2f0202f061d89a15d37b10bb423947d1facacfc0)

Repare que as letras maiúsculas usadas para o agrupamento são diferentes das usadas no exemplo da secção anterior, porque essa letra é usada para ordenar os grupos.

## Leitura adicional

Para mais informações, consulta:

* [Glossários](/latex/overleaf-learn-latex-pt/estrutura-do-documento/05-glossaries.md)
* [Projetos LaTeX com vários ficheiros](/latex/overleaf-learn-latex-pt/estrutura-do-documento/08-multi-file-latex-projects.md)
* [Alinhamento do texto](/latex/overleaf-learn-latex-pt/formatacao/06-text-alignment.md)
* [Negrito, itálico e sublinhado](/latex/overleaf-learn-latex-pt/nocoes-basicas-de-latex/03-bold-italics-and-underlining.md)
* [Expressões matemáticas](/latex/overleaf-learn-latex-pt/matematica/01-mathematical-expressions.md)
* [Criação e Redefinição de Macros](/latex/overleaf-learn-latex-pt/comandos/01-commands.md)
* [`nomencl` documentação do pacote](http://mirror.jmu.edu/pub/CTAN/macros/latex/contrib/nomencl/nomencl.pdf)
* [`ifthen` documentação do pacote](http://texdoc.net/texmf-dist/doc/latex/base/ifthen.pdf)
* [`etoolbox` documentação do pacote](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/overleaf-learn-latex-pt/estrutura-do-documento/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.
