2. Syntax#

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

◆: mandatory
◇: optional
: present by default
&: together
/: only one among
|: several possible choices