> 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/fr/specifique-a-un-domaine/10-attribute-value-matrices.md).

# Matrices attribut-valeur

Cet article montre la composition typographique de matrices valeur-attribut (AVM), qui sont une manière pratique de présenter [des structures de traits](https://en.wikipedia.org/wiki/Feature_structure) comme un groupe d’attributs et de leurs valeurs correspondantes.

## Notes d’information sur les paquets AVM pour LaTeX

Cet article utilise le `avm` paquet, qui était l’option privilégiée pour composer des AVM au moment où ce contenu a été initialement rédigé. Malheureusement, le `avm` paquet n’est pas distribué par TeX Live, ce qui signifie que les utilisateurs d’Overleaf devront téléverser une copie (`avm.sty`) dans leurs projets. Pour remédier à cela, le [projet Overleaf Gallery](https://www.overleaf.com/latex/templates/examples-of-attribute-value-matrices/fnrbcjztvjjv) qui accompagne cet article inclut une copie du `avm` package.

Une alternative à `avm`, la [`langsci-avm` package](https://ctan.org/pkg/langsci-avm?lang=en), est désormais disponible dans TeX Live, ce qui le rend directement accessible via Overleaf. Cependant, en raison de différences de syntaxe et de fonctionnalités, les `avm`exemples basés sur cet article ne se compileront pas avec `langsci-avm` et nécessitent quelques retouches. Voir la section 4.6 du [`langsci-avm` documentation](http://mirrors.ctan.org/macros/latex/contrib/langsci-avm/langsci-avm.pdf) pour obtenir des conseils sur la migration depuis `avm` à `langsci-avm`.

## Premiers pas

Utilisez la `avm` environnement pour créer une matrice valeur-attribut, comme le montre l’exemple suivant :

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

Cet exemple produit la sortie suivante :

![Une matrice valeur-attribut composée sur Overleaf avec LaTeX](/files/03c300bc16be1940a5081687a5e70b98da4bbd24)

\* Pour explorer les AVM, ouvrez ce [projet 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=)

## Utilisation de base

Pour composer une matrice valeur-attribut dans un `avm` environnement, il existe un certain nombre de commandes à connaître :

* `\avmfont{\sc}`: modifie la police utilisée dans les matrices, ici en petites capitales. Toute autre [famille de police](/latex/fr/polices/01-font-sizes-families-and-styles.md) fonctionnera. La taille et le [style de police](/latex/fr/polices/02-font-typefaces.md) peuvent également être définis ici.
* `\begin{avm}` et `\end{avm}`: ces commandes ouvrent et ferment l’environnement dans lequel la matrice valeur-attribut sera créée.
* `\[` et `\]`: affichent les crochets carrés qui délimitent les parties de la matrice. D’autres délimiteurs peuvent également être utilisés avec les commandes `\<`, `\>`, `\{` et `\}`.
* `\\`: insère un saut de ligne.
* `&`: crée une division de colonne sur la même ligne.

L’exemple suivant illustre cela :

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

Cet exemple produit le résultat suivant :

![Une matrice valeur-attribut composée sur Overleaf avec LaTeX](/files/16e2b6eccac37be3b0f0fc4913a13c23089a2363)

\* Pour explorer les AVM, ouvrez ce [projet 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=)

## Colonnes non alignées

Parfois, lorsqu’une ligne est trop longue, il peut être pratique d’utiliser des colonnes non alignées pour améliorer le rendu :

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

Cet exemple produit le résultat suivant :

![Une matrice valeur-attribut composée sur Overleaf avec LaTeX](/files/804a16b07dcfaea81dce19ebbb3db6f41ee046e6)

La commande `\avmspan{}` empêche l’alignement des colonnes pour son argument, tandis que la commande `\;` insère un espace horizontal légèrement plus long que la normale, créant un joli séparateur.

\* Pour explorer les AVM, ouvrez ce [projet 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=)

## Étiquettes de tri

Il est possible d’ajouter des étiquettes de tri aux coins d’une AVM. Il existe deux styles possibles. Le premier consiste à afficher les étiquettes à l’intérieur de la 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}
```

Ce code produit la sortie suivante :

![Une matrice valeur-attribut composée sur Overleaf avec LaTeX](/files/5b40a7bbf9b3630d39d3e14e3c7c578e6e151161)

\* Pour explorer les AVM, ouvrez ce [projet 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=)

Il y a trois nouvelles commandes dans cet exemple :

* `\avmsortfont{\it}`: définit le style de police pour les clés de tri, en italique dans ce cas, mais d’autres [styles et tailles de police peuvent être utilisés](/latex/fr/polices/01-font-sizes-families-and-styles.md)
* `\avmvalfont{\it}`: définit le style de police des valeurs dans l’AVM, en italique dans ce cas.
* `\asort{*key*}`: affiche le tri `*clé*`.

Il est aussi possible de superposer l’étiquette de tri sur la colonne précédente, comme le montre l’exemple suivant :

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

Cet exemple produit le résultat suivant :

![Une matrice valeur-attribut composée sur Overleaf avec LaTeX](/files/e2f8fae39832bc38f7c5be726c1be476383c8fd7)

\* Pour explorer les AVM, ouvrez ce [projet 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=)

Deux nouvelles commandes :

* `\sort{*label*}`: affiche le `*label*`, en occupant l’espace dans la colonne où elle apparaît.
* `\osort{*label*}`: superpose le *label* sans vérifier les chevauchements ni l’espace disponible.

## Guide de référence

Délimiteurs disponibles dans le **avm** package.

| Commande | Résultat                                                            |
| -------- | ------------------------------------------------------------------- |
| `\{ \}`  | ![AVMbraces.png](/files/7ecf875d1e3c2448c3173150cf58c4bf4e7f97b6)   |
| `\[ \]`  | ![AVMbrackets.png](/files/9c98e77014ce24a898e673689423fc94c4b7c920) |
| `\< \>`  | ![AVMchevrons.png](/files/9184cea4108569bd891f8ef293bb9143e2bfdd41) |

## Lectures complémentaires

Pour plus d'informations, voir

* [Le **avm** documentation du paquet](http://nlp.stanford.edu/manning/tex/avm-doc.pdf)
* [Le **avm.sty** code source](http://nlp.stanford.edu/manning/tex/avm.sty)
* [Tailles, familles et styles de police](/latex/fr/polices/01-font-sizes-families-and-styles.md)
* [Familles de polices](/latex/fr/polices/02-font-typefaces.md)
* [article sur les tableaux](/latex/fr/figures-et-tableaux/01-tables.md)
* [Crochets et parenthèses](/latex/fr/mathematiques/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://overleaf-pro.ayaka.space/latex/fr/specifique-a-un-domaine/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.
