2. Syntaxe#

IMPR_FONCTION(
    ◇ FORMAT = / "TABLEAU" (par défaut),
               / "AGRAF",
               / "XMGRACE",
               / "LISS_ENVELOP",
    # Si: equal_to("FORMAT", 'XMGRACE')
        ◇ PILOTE = / "" (par défaut),
                   / "POSTSCRIPT",
                   / "EPS",
                   / "MIF",
                   / "SVG",
                   / "PNM",
                   / "PNG",
                   / "JPEG",
                   / "PDF",
                   / "INTERACTIF",
                   / "INTERACTIF_BG",
        ◇ UNITE = unit (défaut: 29),
    # Si: equal_to("FORMAT", 'AGRAF')
        ◇ UNITE = unit (défaut: 25),
        ◇ UNITE_DIGR = unit (défaut: 26),
    # Si: not equal_to("FORMAT", 'LISS_ENVELOP')
        ◆ COURBE = _F(
             ◆ / FONCTION = formule / fonction_c / fonction / nappe,
               / LIST_RESU = listr8,
               / FONC_X = formule / fonction,
               / ABSCISSE = float,
             # Si: exists("FONCTION")
                 ◇ LIST_PARA = listr8,
             # Si: is_type("FONCTION") in (fonction_c, formule_c)
                 ◇ PARTIE = / "REEL",
                            / "IMAG",
             # Si: exists("LIST_RESU")
                 ◆ LIST_PARA = listr8,
             # Si: exists("FONC_X")
                 ◆ FONC_Y = formule / fonction,
                 ◇ LIST_PARA = listr8,
             # Si: exists("ABSCISSE")
                 ◆ ORDONNEE = float,
             ◇ LEGENDE = text,
             ◇ STYLE = int,
             ◇ COULEUR = int,
             ◇ MARQUEUR = int,
             ◇ FREQ_MARQUEUR = int,
             ◇ TRI = / "N" (par défaut),
                     / "X",
                     / "Y",
                     / "XY",
                     / "YX",
          ),
    # Si: equal_to("FORMAT", 'LISS_ENVELOP')
        ◆ COURBE = _F(
             ◆ / NAPPE = nappe,
               / NAPPE_LISSEE = nappe,
          ),
    # Si: equal_to("FORMAT", 'TABLEAU')
        ◇ UNITE = unit (défaut: 8),
        ◇ TITRE = text,
        ◇ SOUS_TITRE = text,
        ◇ SEPARATEUR = text (défaut: " "),
        ◇ COMMENTAIRE = text (défaut: "#"),
        ◇ COMM_PARA = text,
        ◇ DEBUT_LIGNE = text,
        ◇ FIN_LIGNE = text (défaut: "
"),
        ◇ FORMAT_R = text (défaut: "E12.5"),
    # Si: not equal_to("FORMAT", 'TABLEAU')
        ◇ TITRE = text,
        ◇ SOUS_TITRE = text,
        ◇ BORNE_X = float,
        ◇ BORNE_Y = float,
        ◇ ECHELLE_X = / "LIN" (par défaut),
                      / "LOG",
        ◇ ECHELLE_Y = / "LIN" (par défaut),
                      / "LOG",
        ◇ GRILLE_X = float,
        ◇ GRILLE_Y = float,
        ◇ LEGENDE_X = text,
        ◇ LEGENDE_Y = text,
    # Si: equal_to("FORMAT", 'LISS_ENVELOP')
        ◇ UNITE = unit (défaut: 25),
    ◇ INFO = / 1 (par défaut),
             / 2,
)

◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles