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

# Matrici attributo-valore

Questo articolo dimostra come impaginare matrici di valori di attributo (AVM), che sono un modo pratico per presentare [strutture di tratti](https://en.wikipedia.org/wiki/Feature_structure) come un gruppo di attributi e dei rispettivi valori.

## Note informative sui pacchetti AVM per LaTeX

Questo articolo usa il `avm` pacchetto, che all'epoca in cui questo materiale è stato scritto per la prima volta era la soluzione preferita per impaginare le AVM. Purtroppo, il `avm` pacchetto non è distribuito da TeX Live, il che significa che gli utenti di Overleaf dovranno caricarne una copia (`avm.sty`) nei loro progetti. Per ovviare a questo, il [progetto della Galleria Overleaf](https://www.overleaf.com/latex/templates/examples-of-attribute-value-matrices/fnrbcjztvjjv) che accompagna questo articolo include una copia del `avm` pacchetto.

Un'alternativa a `avm`, il [`langsci-avm` che fornisce i comandi e le funzionalità necessarie per includere file grafici esterni. L'esempio sopra carica il](https://ctan.org/pkg/langsci-avm?lang=en), è ora disponibile in TeX Live, rendendolo direttamente accessibile tramite Overleaf. Tuttavia, a causa delle differenze di sintassi e di funzionalità, gli `avm`esempi basati su AVM in questo articolo non compileranno con `langsci-avm` e richiederanno alcune modifiche. Vedi la sezione 4.6 del [`langsci-avm` documentazione](http://mirrors.ctan.org/macros/latex/contrib/langsci-avm/langsci-avm.pdf) per indicazioni sulla migrazione da `avm` su `langsci-avm`.

## Per iniziare

Usa il `avm` ambiente per creare una matrice di valori di attributo, come mostrato nel seguente esempio:

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

Questo esempio produce il seguente output:

![Una matrice di valori di attributo impaginata su Overleaf usando LaTeX](/files/e7ec4055b51af2423a79c7e16fec0edbe86027f5)

\* Per esplorare le AVM, apri questo [progetto 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 base

Per impaginare una matrice di valori di attributo all'interno di un `avm` ambiente, ci sono diversi comandi che devi conoscere:

* `\avmfont{\sc}`: cambia il font usato nelle matrici, in questo caso in maiuscoletto. Qualsiasi altra [famiglia di caratteri](/latex/it/caratteri/01-font-sizes-families-and-styles.md) funzionerà. La dimensione del font e [il tipo di carattere](/latex/it/caratteri/02-font-typefaces.md) possono essere dichiarati anche qui.
* `\begin{avm}` e `\end{avm}`: aprono e chiudono l'ambiente in cui verrà creata la matrice di valori di attributo.
* `\[` e `\]`: stampano le parentesi quadre che delimitano le parti della matrice. Possono essere usate anche altre parentesi con i comandi `\<`, `\>`, `\{` e `\}`.
* `\\`: inserisce una nuova riga.
* `&`: crea una divisione in colonna all'interno della stessa riga.

L'esempio seguente li mostra:

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

Questo esempio produce il seguente output:

![Una matrice di valori di attributo impaginata su Overleaf usando LaTeX](/files/eeb1fb070fd1e9bdc40ad8b0ed198f935298e7a5)

\* Per esplorare le AVM, apri questo [progetto 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=)

## Etichette di tipo

A volte, quando una riga è troppo lunga, può essere comodo usare colonne non allineate per migliorare l'output:

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

Questo esempio produce il seguente output:

![Una matrice di valori di attributo impaginata su Overleaf usando LaTeX](/files/b65a0b3cb125870217d5bb8067bcddc6987ffab0)

Il comando `\avmspan{}` impedisce l'allineamento delle colonne per il suo argomento, mentre il comando `\;` inserisce uno spazio orizzontale leggermente più lungo del normale, creando un ottimo separatore.

\* Per esplorare le AVM, apri questo [progetto 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=)

## Etichette di tipo

È possibile aggiungere etichette di tipo agli angoli di una AVM. Esistono due stili possibili. Il primo consiste nel stampare le etichette all'interno della matrice:

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

Questo codice produce il seguente output:

![Una matrice di valori di attributo impaginata su Overleaf usando LaTeX](/files/3ce07eecd77a1852e356019bbd68a074576a0135)

\* Per esplorare le AVM, apri questo [progetto 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=)

In questo esempio ci sono tre nuovi comandi:

* `\avmsortfont{\it}`: imposta il tipo di font per le chiavi di tipo, in questo caso in corsivo, ma altri [stili e dimensioni di font possono essere usati](/latex/it/caratteri/01-font-sizes-families-and-styles.md)
* `\avmvalfont{\it}`: imposta il tipo di font per i valori nell'AVM, in questo caso in corsivo.
* `\asort{*key*}`: stampa il `*key*`.

È anche possibile sovrapporre l'etichetta di tipo alla colonna precedente, come mostrato nel prossimo esempio:

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

Questo esempio produce il seguente output:

![Una matrice di valori di attributo impaginata su Overleaf usando LaTeX](/files/f7348b33f927a1a60331bb3cb546c0ec942d1bef)

\* Per esplorare le AVM, apri questo [progetto 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=)

Ci sono due nuovi comandi:

* `\sort{*label*}`: stampa la `*label*`, occupando spazio nella colonna in cui appare.
* `\osort{*label*}`: sovrappone la *label* senza controllare collisioni o spazio disponibile.

## Guida di riferimento

Parentesi disponibili nel **avm** pacchetto.

| Comando | Risultato                                                           |
| ------- | ------------------------------------------------------------------- |
| `\{ \}` | ![AVMbraces.png](/files/1f80249b5a99a64a087db61f063c07818692ca74)   |
| `\[ \]` | ![AVMbrackets.png](/files/bb572e06aa23428388d65de0be4ddb4a58af1b34) |
| `\< \>` | ![AVMchevrons.png](/files/ff10d23ba1f47ce00b7c23bd80ce182a8f237c2a) |

## Approfondimenti

Per maggiori informazioni vedi

* [Il **avm** documentazione del pacchetto](http://nlp.stanford.edu/manning/tex/avm-doc.pdf)
* [Il **avm.sty** codice sorgente](http://nlp.stanford.edu/manning/tex/avm.sty)
* [Dimensioni, famiglie e stili dei caratteri](/latex/it/caratteri/01-font-sizes-families-and-styles.md)
* [Caratteri tipografici](/latex/it/caratteri/02-font-typefaces.md)
* [Tabelle](/latex/it/figure-e-tabelle/01-tables.md)
* [Parentesi quadre e tonde](/latex/it/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/it/specifico-per-argomento/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.
