# Utilitaires

#### arrondis

```
  { DOCVARIABLE arrondis 12.34567 }
```

Retourne 12.34

#### arrondistriche

```
  { DOCVARIABLE arrondis 12.34567 }
```

Retourne le nombre “rond” le plus proche (ici 12.35)

#### virgules\_et

En partant d'une chaîne contenant plusieurs textes séparés par le caractère “|” (barre verticale), construire une représentation “à la française” de cette chaîne :

```
  { DOCVARIABLE virgules_et "John|Paul|Georges|Ringo" }
```

Retourne “John, Paul, Georges et Ringo”

#### match

Permet de comparer une chaîne à une regex (expression régulière) et retourne “True” ou “False” si la chaîne matche avec le motif :

```
  { DOCVARIABLE match "tititOTotata" "toto" }
```

⇒ True car “toto” est bien contenu dans la chaîne. Attention aux caractères spéciaux des regex (parenthèses, ^, $, ., \*, +, \[\], etc.)

#### log

```
  { DOCVARIABLE log "message" }
```

Ajout “message” dans le journal.

#### newpage

```
  { DOCVARIABLE newpage }
```

Force un saut de page dans le document.

#### floatenlettres

```
  { DOCVARIABLE floatenlettres 1234.56 [separateur=euros] }
```

Retourne la transcription du nombre en français : mille deux cent trente quatre euros cinquante six

#### multimatch

```
  { DOCVARIABLE multimatch "text_à_comparer" "comparaison1" "valeur1" "comparaison2" "valeur2" "valeur_par_défaut" }
```

Effectue plusieurs comparaisons (comme la fonction match) et retourne une correspondance. Dans l'exemple ci-dessous, on compare la chaîne “Les éditions du chat libre” avec deux “motifs”. Si l'un des mots **editions** ou **éditions** est trouvé, la fonction retourne “éditeur”, si le mot **production** est trouvé, la fonction retourne “producteur” et sinon, la fonction retourne “autre”. La valeur par défaut est facultative.

```
  { DOCVARIABLE multimatch "Les éditions du chat libre"
      "editions|éditions"      "éditeur"
      "production"             "producteur"
                               "autre"
  }
```

Notez qu'il est possible (et recommandé) de sauter des lignes et d'aligner les comparaisons et valeurs pour que tout soit plus lisible et qu'il soit aussi plus simple d'ajouter de nouvelles comparaisons/valeurs.

L'usage recommandé est de stocker le résultat dans une variable (voir DOCVARIABLE SET) ainsi :

```
  { docvariable set initiale "{ docvariable multimatch { docvariable champ oeu_titre } 
      "^[aeiouy]" "voyelle"
      "consonne" }" }
```

La variable **initiale** prendra la valeur “voyelle” si le titre commence par une voyelle, sinon (valeur par défaut) elle contiendra “consonne”.