> 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/10-attribute-value-matrices.md).

# Matrizes de valores de atributos

Este artigo demonstra a composição tipográfica de matrizes de valores de atributos (AVMs), que são uma forma prática de apresentar [estruturas de traços](https://en.wikipedia.org/wiki/Feature_structure) como um grupo de atributos e seus valores correspondentes.

## Notas orientativas sobre pacotes AVM para LaTeX

Este artigo usa o `avm` pacote, que era a opção preferida para compor AVMs na época em que este material foi originalmente escrito. Infelizmente, o `avm` pacote não é distribuído pelo TeX Live, o que significa que os usuários do Overleaf terão de enviar uma cópia (`avm.sty`) para seus projetos. Para contornar isso, o [projeto da Galeria do Overleaf](https://www.overleaf.com/latex/templates/examples-of-attribute-value-matrices/fnrbcjztvjjv) que acompanha este artigo inclui uma cópia do `avm` pacote.

Uma alternativa ao `avm`, a [`langsci-avm` pacote](https://ctan.org/pkg/langsci-avm?lang=en), agora está disponível no TeX Live, tornando-o diretamente acessível via Overleaf. No entanto, devido a diferenças de sintaxe e de recursos, os `avm`exemplos baseados em `langsci-avm` neste artigo não irão compilar com [`langsci-avm` documentação](http://mirrors.ctan.org/macros/latex/contrib/langsci-avm/langsci-avm.pdf) e exigem alguma edição. Veja a seção 4.6 do `avm` para `langsci-avm`.

## Primeiros passos

Use a `avm` ambiente para criar uma matriz de valores de atributos, como demonstrado no exemplo a seguir:

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

\begin{document}

\begin{avm}
    \[ cat\|subcat & \<NP$_{it}$, NP$_{\@2}$, S[comp]:\@3\> \\
       content & \[ relation & \bf bother\\
                    bothered & \@2 \\
                    soa-arg  & \@3 \] \]
\end{avm}

\end{document}
```

Este exemplo produz a seguinte saída:

![Uma matriz de valores de atributos composta no Overleaf usando LaTeX](/files/97db74f3a83c960c7827b606fa2b8cde38142192)

\* Para explorar AVMs, abra este [projeto do Overleaf.](https://www.overleaf.com/project/new/template/26428?id=113292459\&templateName=Example+project+demonstrating+attribute+value+matrices\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

## Uso básico

Para compor uma matriz de valores de atributos dentro de um `avm` ambiente, há vários comandos que você precisa conhecer:

* `\avmfont{\sc}`: altera a fonte usada nas matrizes, neste caso para versalete. Qualquer outra [família de fontes](/latex/overleaf-learn-latex-pt/fontes/01-font-sizes-families-and-styles.md) funcionará. O tamanho da fonte e [estilo tipográfico da fonte](/latex/overleaf-learn-latex-pt/fontes/02-font-typefaces.md) também podem ser declarados aqui.
* `\begin{avm}` e `\end{avm}`: abrem e fecham o ambiente onde a matriz de valores de atributos será criada.
* `\[` e `\]`: imprimem os colchetes que delimitam partes da matriz. Outros colchetes também podem ser usados com os comandos `\<`, `\>`, `\{` e `\}`.
* `\\`: insere uma nova linha.
* `&`: cria uma divisão de coluna na mesma linha.

O exemplo a seguir demonstra isso:

```latex
\documentclass{article}

\usepackage{avm}
\avmfont{\sc}

\begin{document}
\begin{avm}
    \[ subj & \[ pers & 3 \\
                 num & sg \\
                 gend & masc\\
                 pred & \rm ‘pro’ \]\\

        pred & \rm ‘eat\q<SUBJ, OBJ\q>’\\

                 obj & \[ pers & 3 \\
                 num & pl \\
                 gend & fem \\
                 pred & \rm ‘pro’ \]
        \]
\end{avm}

\end{document}
```

Este exemplo produz a seguinte saída:

![Uma matriz de valores de atributos composta no Overleaf usando LaTeX](/files/3d390e8503d5b32023ddde5a76e9404c3eeb3636)

\* Para explorar AVMs, abra este [projeto do Overleaf.](https://www.overleaf.com/project/new/template/26428?id=113292459\&templateName=Example+project+demonstrating+attribute+value+matrices\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

## Colunas desalinhadas

Às vezes, quando uma linha é muito longa, pode ser conveniente usar colunas desalinhadas para melhorar a saída:

```latex
\begin{avm}
    \[ \avmspan{system\|local\|content\; \@2} \\
        qstore & \[det & \textnormal{forall} \\
                   restpar & \@2 \[para & \@1 \\
                                   restr & \[reln & \textnormal{book} \\
                                             inst & \@1 \] \] \] \]
\end{avm}
```

Este exemplo produz a seguinte saída:

![Uma matriz de valores de atributos composta no Overleaf usando LaTeX](/files/41f5e93a1d24047838f9a9a0f1b47e64142313f2)

O comando `\avmspan{}` impede o alinhamento de colunas para o seu argumento, enquanto o comando `\;` insere um espaço em branco horizontal ligeiramente maior que o normal, criando um bom separador.

\* Para explorar AVMs, abra este [projeto do Overleaf.](https://www.overleaf.com/project/new/template/26428?id=113292459\&templateName=Example+project+demonstrating+attribute+value+matrices\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

## Rótulos de tipo

É possível adicionar rótulos de tipo nos cantos de uma AVM. Há dois estilos possíveis. O primeiro consiste em imprimir os rótulos dentro da matriz:

```latex
\avmsortfont{\it}
\avmvalfont{\it}
\begin{avm}
    \[ \asort{indexed-obj}
       index & \[\asort{index}
                  variable & \@1 \[\asort{variable}
                                    per & 3rd \\
                                    num & sing \\
                                    gend & neut \] \\
                  restriction & \[\asort{psoa}
                                  relation & book \\
                                  instance & \@1 \] \] \]
\end{avm}
```

Este código produz a seguinte saída:

![Uma matriz de valores de atributos composta no Overleaf usando LaTeX](/files/c1dc66d61a629fd25208998ba314c72b9e208ab0)

\* Para explorar AVMs, abra este [projeto do Overleaf.](https://www.overleaf.com/project/new/template/26428?id=113292459\&templateName=Example+project+demonstrating+attribute+value+matrices\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

Há três novos comandos neste exemplo:

* `\avmsortfont{\it}`: define o tipo de fonte para as chaves de tipo, itálico neste caso, mas outros [estilos e tamanhos de fonte podem ser usados](/latex/overleaf-learn-latex-pt/fontes/01-font-sizes-families-and-styles.md)
* `\avmvalfont{\it}`: define o tipo de fonte para os valores na AVM, itálico neste caso.
* `\asort{*key*}`: imprime o `*key*`.

Também é possível sobrepor o rótulo de tipo à coluna anterior, como mostrado no próximo exemplo:

```latex
\avmvalfont{\it}
\avmsortfont{\it}
\begin{avm}
    \sort{indexed-obj}{\[ index & \osort{index}{\[
          variable & \@1 \osort{variable}{\[  per & 3rd \\
                                              num & sing \\
                                              gend & neut \]} \\
          restriction & \osort{psoa}{\[relation & book \\
                                       instance & \@1 \]} \]} \]}
\end{avm}
```

Este exemplo produz a seguinte saída:

![Uma matriz de valores de atributos composta no Overleaf usando LaTeX](/files/96325e8ac88a36179245549a1ac62e23637ce25a)

\* Para explorar AVMs, abra este [projeto do Overleaf.](https://www.overleaf.com/project/new/template/26428?id=113292459\&templateName=Example+project+demonstrating+attribute+value+matrices\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

Há dois novos comandos:

* `\sort{*label*}`: imprime o `*label*`, ocupando espaço na coluna em que aparece.
* `\osort{*label*}`: sobrepõe o *label* sem verificar colisões ou espaço disponível.

## Guia de referência

Colchetes disponíveis no **avm** pacote.

| Comando | Saída                                                               |
| ------- | ------------------------------------------------------------------- |
| `\{ \}` | ![AVMbraces.png](/files/152dd37c6b25ce6f434048a9ed81d2fa54178d82)   |
| `\[ \]` | ![AVMbrackets.png](/files/9d51e54030e451cc56177f918e96c779b14a384a) |
| `\< \>` | ![AVMchevrons.png](/files/04c368084d37f4b8ea775aaa8b6ae56f33b89706) |

## Leitura adicional

Para mais informações, veja

* [O **avm** documentação do pacote](http://nlp.stanford.edu/manning/tex/avm-doc.pdf)
* [O **avm.sty** código-fonte](http://nlp.stanford.edu/manning/tex/avm.sty)
* [Tamanhos, famílias e estilos de fonte](/latex/overleaf-learn-latex-pt/fontes/01-font-sizes-families-and-styles.md)
* [Tipos de letra](/latex/overleaf-learn-latex-pt/fontes/02-font-typefaces.md)
* [Tabelas](/latex/overleaf-learn-latex-pt/figuras-e-tabelas/01-tables.md)
* [Parênteses retos e parênteses arredondados](/latex/overleaf-learn-latex-pt/matematica/03-brackets-and-parentheses.md)


---

# 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/10-attribute-value-matrices.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.
