Il s'agit de la commande dpic qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
dpic - convertir l'entrée en langage pic en formats compatibles LaTeX et autres
SYNOPSIS
dpic [ -efghmprstvxz ] [ dans le fichier ] [> fichier de sortie ]
Typiquement dans le fichier est de la forme Nom[.pic] ainsi que fichier de sortie est de la forme
Nom[.tex|.eps|.fig|.mp|.svg]
OPTIONS
(Aucun) Sortie de dessin LaTeX (capacité de dessin basée sur les polices très limitée)
-e sortie pict2e
-f Sortie Postscript, chaînes au format psfrag
-g Sortie TikZ-pgf
-h écrire un message d'aide et quitter
-m sortie mfpic (voir la documentation mfpic)
-p Sortie PSTricks
-r sortie Postscript brute, pas de formatage automatique des chaînes
-s Sortie MetaPost
-t sortie eepicemu (légèrement moins limitée que la sortie de dessin LaTeX)
-v sortie svg
-x sortie xfig 3.2
-z mode sans échec (accès aux fichiers externes désactivé)
DESCRIPTION
Dpic accepte un sous-ensemble restreint du langage de dessin d'images accepté par GNU pic (parfois
nommé gpic) ou AT&T pic, et émet des commandes de dessin de niveau inférieur à insérer dans LaTeX
documents, pour traitement par les outils de dessin xfig ou Inkscape, ou pour affichage direct comme
Postscript ou SVG encapsulé. Un texte arbitraire peut être inséré dans la sortie pour plus tard
formatage, et des commandes arbitraires pour le postprocesseur (PSTricks, Tikz-pgf, etc.) peuvent
être compris. Dpic renvoie EXIT_SUCCESS (normalement 0) si les messages ne sont pas plus graves que
des avertissements ont été générés, sinon EXIT_FAILURE (normalement 1).
Quelques extensions de langage propres à dpic sont implémentées à des fins spécifiques.
LANGUAGE RÉSUMÉ
L'entrée consiste en une séquence de lignes. La première ligne d'une image est . PS et le dernier est
.PE, avec des lignes entre ces deux converties en commandes de dessin de bas niveau pour le
postprocesseur choisi par l'option. Lignes à l'extérieur de . PS .PE passer par dpic
inchangé.
Coordonnées
Les axes de coordonnées dans le langage pic pointent vers la droite et vers le haut. Les unités de dessin sont
pouces par défaut mais la déclaration
escaliers = 25.4
au début du diagramme a pour effet de changer les unités en millimètres.
Tiré objets
Les objets dessinés primitifs se composent des objets planaires boîte, cercle, ellipse; le linéaire
objets ligne, La Flèche, bouge toi, cannelure ; ainsi que arc, qui a des caractéristiques à la fois planaires et
objets linéaires. UNE bloc est une paire de crochets renfermant d'autres objets : [ quoi que ce soit d'artificiel
] et est un objet plan. Le schéma complet est contenu implicitement dans un bloc.
A un magnifique est un objet planaire similaire à une boîte, mais le langage pic permet également aux chaînes de
être attachés à d'autres objets en tant que superpositions, auquel cas ils font partie de l'objet.
La position de dessin actuelle Ici est toujours défini. Initialement et au début d'un
bloc, Ici est 0,0. De même, la direction du courant, qui peut être l'une des up, vers le bas, la gauche,
droite, est défini comme bon initialement.
Chaque objet dessiné a un point d'entrée et un point de sortie, qui dépendent du courant
direction. Le point d'entrée est placé par défaut à la position actuelle. Les objets peuvent
également être placé explicitement par rapport à des coordonnées absolues ou par rapport à d'autres
objets. Le point de sortie devient la nouvelle position actuelle.
Etiquettes
A étiquette dans pic est une séquence alphamérique qui commence par une lettre majuscule. Dpic
permet aux variables et aux étiquettes d'être indicées ; Donc T ainsi que T[5] sont des étiquettes distinctes. Les
la valeur entre parenthèses peut être n'importe quelle expression mais elle est arrondie à la valeur entière la plus proche. UNE
label donne un nom symbolique à une position ou à un objet dessiné ; par exemple,
Poster: Ici + (1,2)
Autobus[23] : en ligne bon 4
Défini des notes bonus
Une fois dessiné, un objet linéaire a des points définis .début, .centre, ainsi que .finir, qui peut être
référencés comme des positions connues, par exemple,
L: ligne; en ligne up 0.5 de Lc
De .centre a été abrégé en .c
Les points définis pour un objet plan sont les points cardinaux sur sa périphérie donnés par
.n, .s, .e, .w, .nw, .ne, .se, .sw, avec .centre, .Haut, .bas, .droit, .la gauche.
Pour un arc, ces points correspondent au cercle dont fait partie l'arc, avec le
en plus de .début ainsi que .finir.
A bloc a des points définis similaires à une boîte, mais peut également en avoir d'autres à l'intérieur.
En utilisant l'exemple
A: [ cercle; Q: [ ligne; cercle ]; T: Qn ]
les points définis sont les suivants :
Les points du bloc extérieur comme s'il s'agissait d'une boîte, par
Par exemple, A.ne
Une position définie dans le bloc, par exemple, ATI
Les points définis des objets étiquetés à l'intérieur du bloc,
précédé d'un point, par exemple, AQ (le centre de
bloc Q), or AQne (le coin nord-est de Q).
Les points définis des objets énumérés à l'intérieur du
bloc, précédé d'un point (mais assurez-vous qu'il y a un espace
après le point s'il est suivi d'un nombre plutôt que
une expression entre accolades), par exemple, AQ 1 cercle.n
ou mieux) QA{1}e cercle.n
Langue éléments
Les lignes définissant une image sont séparées par des caractères de nouvelle ligne ou des points-virgules. Nouvelles lignes
sont importants sauf après puis, ;, :, {, autre, ou une nouvelle ligne.
Une ligne passe à la suivante si le caractère le plus à droite est une barre oblique inverse.
Les lignes de non-suite commençant par un point sont ignorées, sauf pour . PS ainsi que .PE lignes.
La source de la photo peut être commentée en plaçant chaque commentaire à droite d'un # caractère
(à moins que le # est dans une chaîne).
Les éléments de langage comprennent les éléments suivants :
Une commande de dessin avec une étiquette facultative, par exemple, boîte or A: boîte
Une définition d'étiquette de position, par exemple A: position
Une affectation à une variable, par exemple x = 5
A direction (pour changer la valeur par défaut), par exemple, up
Le branchement est effectué par
if expr puis { vrai } d'autre { faux }.
L'installation de bouclage est
en variable = expr à expr [par [*] augmenter ] do { quoi que ce soit d'artificiel }.
La variable de boucle est incrémentée de 1 par défaut, sinon de augmenter (ce qui peut être un
expression négative) sauf s'il est précédé de l'astérisque, auquel cas la boucle
variable est multipliée par augmentation La variable de boucle peut être modifiée par les instructions dans le
boucle, contrôlant ainsi le nombre de répétitions de boucle.
Les accolades se produisent dans plusieurs contextes. Lorsqu'il est utilisé indépendamment des autres éléments du langage, comme
{ quoi que ce soit d'artificiel }
l'accolade gauche enregistre la position et la direction actuelles, et l'accolade droite les restaure
aux valeurs enregistrées après le traitement des lignes jointes.
Des commandes de postprocesseur arbitraires peuvent être générées en utilisant
commander chaîne,
qui insère le contenu de un magnifique dans la sortie. Les un magnifique le contenu doit être
compatible avec le post-processeur choisi. De même, toute ligne commençant par un
La barre oblique inverse est copiée littéralement dans la sortie.
La ligne
exec un magnifique
exécute le contenu de un magnifique comme s'il s'agissait d'une ligne d'entrée normale.
Pour exécuter des commandes shell du système d'exploitation, utilisez
sh un magnifique
et pour lire les lignes d'un fichier externe, utilisez
copier un magnifique
Ces commandes sont désactivées par l'option dpic -z ou par un commutateur de compilation.
La commande
impression expr|position|chaîne [ > un magnifique | >> un magnifique ]
imprime ou ajoute son argument au fichier nommé dans la chaîne à droite, ou par défaut
à l'erreur standard. L'impression dans un fichier est désactivée par l'option -z.
Macros
Le langage pic comprend la définition et l'expansion des macros, en utilisant
Vous permet de définir prénom { quoi que ce soit d'artificiel },
de sorte que, quand prénom apparaît seul ou avec des arguments comme prénom ( argument, ) alors c'est
remplacé par le contenu entre les accolades dans la définition. Une virgule dans un argument
list est ignoré dans une chaîne ou des parenthèses. Dans cette substitution, les occurrences de $1
sont remplacés par le premier argument, et ainsi de suite pour les autres arguments. La valeur $+ dans un
macro est le nombre d'arguments donnés à la macro. dpic ignore les espaces blancs (espaces,
nouvelles lignes et tabulations) qui précèdent directement un argument dans un appel de macro. UNE
la définition de macro peut être supprimée par
indéfinir prénom
Les définitions de macros sont globales, ce qui peut nécessiter une indéfinition judicieuse des macros s'il y a
est un risque de conflits de noms.
Dessin commandes
Un objet est dessiné en utilisant le format général suivant :
[ Libellé :] objet [ attributs ] [ placement ] [ instruments à cordes ]
Les éléments suivants objet peut se produire dans n'importe quel ordre, mais l'ordre peut faire une différence pour
le résultat dessiné, puisque les lignes sont lues et interprétées de gauche à droite. Les valeurs par défaut sont
supposé pour tous les paramètres de dessin si nécessaire. Par exemple, la séquence
cercle "Mâcher"; La Flèche; boîte "Avaler"
ligne; arc cw -> ; Ellipse "Digérer"
dessine un organigramme simple en utilisant les tailles par défaut pour tous les objets, avec des mots centrés dans
le cercle, la boîte et l'ellipse.
Attributs
La taille et d'autres paramètres contrôlent l'apparence des objets. Un attribuer est une
mot-clé ou mots-clés avec des expressions, le cas échéant.
Les attributs de dimension sont les suivants, affichant des abréviations valides :
hauteur|ht|largeur|largeur|rayon|rad|diamètre|diam|échelle expr
Lorsqu'il est ajouté à des objets linéaires, la taille ainsi que largeur s'appliquent aux dimensions de la pointe de flèche. Les
escaladé l'attribut met l'objet à l'échelle en exp.
La taille post-traitée d'une chaîne est inconnue à l'avance pour le processeur d'images, mais une fois
connue, les dimensions de la boîte englobante peuvent être spécifiées explicitement comme pour les autres objets dessinés,
comme montré:
un magnifique large expr ht expr
L'épaisseur des lignes définissant un objet est modifiée à l'aide de la variable d'environnement
épaisseur de ligne ou l'attribut
épaisseur|épais expr
exprimé en points. L'épaisseur de ligne est indépendante de toute mise à l'échelle.
Les lignes continues sont dessinées par défaut ; cela peut être modifié avec
solide|invisible|invis
ou avec
pointillé|en pointillé [ expr ]
l'expression facultative dans ce dernier définissant la longueur et la distance entre les tirets ou
des points.
Les attributs suivants permettent de placer des pointes de flèche au début, à la fin ou aux deux extrémités d'un
objet linéaire :
<-|->|<-> [ expr ]
Le paramètre de forme expr peut être omis, auquel cas la valeur de l'environnement
variable pointe de flèche est utilisé. La valeur par défaut pour flèche is ->.
La direction de dessin d'un arc est modifiée par l'attribut
cw|cw
comprenant Ccw le défaut.
Pour remplir un objet ou un chemin avec une nuance de gris, utilisez l'attribut
remplir [ expr ]
où une valeur de 1 signifie blanc et 0 signifie noir. Les chemins peuvent être remplis là où le
le post-processeur le permet.
La couleur de la ligne peut être définie en utilisant
contour|décrit un magnifique
où le contenu de la chaîne dépend du postprocesseur. Les couleurs prédéfinies de
Les packages LaTeX ou Tikz-pdf peuvent être spécifiés. Le langage pic ne connaît aucun détail sur
Couleur; le contenu de la chaîne doit être compatible avec le postprocesseur. Les couleurs personnalisées ont
à définir à l'aide de la
commander un magnifique
afin que le postprocesseur les connaisse.
Le remplissage par couleur est similaire, en utilisant l'attribut
ombragé un magnifique
et, lorsque les couleurs de remplissage et de contour sont les mêmes, les deux attributs peuvent être
combiné comme
couleur|couleur|coloré|coloré un magnifique
dans laquelle les quatre orthographes sont équivalentes.
Enfin, l'attribut
même
duplique les propriétés de l'objet précédemment dessiné du même type, mais avec le
emplacement par défaut actuel.
En plus des changements d'échelle apportés par le escaliers variable, la taille de l'ensemble
image peut être définie en ajoutant un ou deux termes à la . PS ligne comme indiqué :
. PS [x [y]]
où x et y sont évalués à des valeurs constantes. En rencontrant le .PE ligne, l'image
la largeur w et la hauteur h sont calculées. Si x > 0, l'image est mise à l'échelle de sorte que w = x.
Si h > y > 0 ou si x = 0 et y > 0 alors l'image est mise à l'échelle de sorte que h = y. Horizontal
et la mise à l'échelle verticale ne sont pas indépendantes. La taille du texte, l'épaisseur de la ligne et les pointes de flèche sont
pas mis à l'échelle. Les unités sont des pouces, par exemple,
. PS 100/25.4
définit la largeur finale de l'image sur 100 mm. Le texte de chaîne imprimé peut s'étendre au-delà de la
limites rectangulaires définies par w et h sauf si les dimensions du texte ont été explicitement
défini.
Si la largeur finale du diagramme dépasse maxpswid ou la hauteur dépasse maxpsht puis le schéma
est mis à l'échelle comme pour x et y ci-dessus.
Motif Placé of tiré objets
Un objet est placé par défaut pour que son entrée soit au point courant.
Le placement explicite est obtenu avec
objet at position
qui centre l'objet sur la position, or
objet comprenant défini point at position
par exemple,
arc cw de position à position comprenant .c at position
Un bloc peut également être positionné par référence à un déplacement de son coin inférieur gauche,
par exemple,
A: [ contenu ] comprenant (0.5,0.2) at position.
Les objets linéaires sont placés par défaut avec le .début point placé sur le dessin courant
poste ; sinon les objets linéaires sont définis à l'aide d'un spéc. de ligne, qui est de la forme
spéc. de ligne = de position | à position | direction [ expr ]
| spéc. de ligne spéc. de ligne
| spéc. de ligne puis spéc. de ligne
où la deuxième ligne signifie que spécifications de ligne peut être concaténé, et le troisième qui
les objets linéaires multisegments sont dessinés à l'aide de plusieurs spécifications de ligne séparé par .
A titre d'exemple, ce qui suit dessine un triangle avec le sommet le plus à gauche au niveau actuel
point:
en ligne up 2 bon 1.5 puis down 3 puis à Ici
Exceptionnellement, le spéc. de ligne
à position à position à
est multiple et ne nécessite pas la puis mot-clé.
Un célibataire ou Individual expr est également un acceptable spéc. de ligne immédiatement après un objet linéaire et signifie
que l' objet est tiré à longueur expr dans le sens actuel. L'exception à cette
is
spline [ expr ] spéc. de ligne
pour lequel le expr est un paramètre de tension de spline. Si expr est omis, une ligne droite est
dessiné au milieu des deux premiers points de contrôle de la spline et à partir du milieu du
les deux derniers au dernier point ; la spline est tangente à tous les points médians entre les points de contrôle.
If expr est présent, la spline est tangente aux premier et dernier points de contrôle et à tous
d'autres points médians, et la tension de la spline peut être ajustée. Valeurs de tension entre 0 et 1
sont typiques.
Dans les cas où tous les points d'un objet linéaire multisegment ne sont pas connus à l'avance
ou peu pratique à calculer, la commande de dessin
continuer spéc. de ligne
ajoutera un segment à l'objet linéaire précédemment dessiné comme si continuer ont été puis, comprenant
deux différences. Des calculs arbitraires peuvent être effectués entre l'objet précédent et le
continuer et le point courant est le point de sortie de l'objet précédent.
La construction
en ligne de position à position hacher expr
tronque la ligne à chaque extrémité de la valeur de expr ou si expr est omis, par le courant
rayon du cercle. Autrement
en ligne de position à position hacher expression1 hacher expression2
tronque la ligne des deux distances spécifiées aux extrémités. Les valeurs de troncature peuvent être
négatif.
L'attribut
by position
est pour le positionnement, par exemple,
Bougez by (5,6)
Variables ainsi que expressions
Les noms de variables sont des séquences alphamétiques commençant par une lettre minuscule, éventuellement
en indice comme pour les étiquettes, et sont définis par affectation. Par exemple, la ligne suivante
définit la variable x s'il n'existe pas déjà dans le périmètre actuel :
x = expr
La portée des variables pic est le bloc courant dans lequel elles sont définies, y compris
blocs définis plus tard dans le bloc courant. La tâche
x := expr
a besoin x avoir été défini précédemment dans le bloc courant ou un bloc englobant.
Les expressions sont constituées de valeurs à virgule flottante combinées à l'aide de l'opérateur unaire "!" pour
négation logique et les habituelles parenthèses et opérateurs binaires dans l'ordre décroissant de
priorité:
^
* / %
+ -
== != >= <= < >
&&
||
Dans les tests logiques, la valeur 0 est équivalente à false et une valeur non nulle à true, avec
valeur vraie résultante de 1.
Une valeur à virgule flottante est obtenue sous forme d'entier, un nombre avec e syntaxe, une fonction
value, une valeur de taille d'un objet dessiné, par exemple,
dernier boîte.ht,
ou la coordonnée horizontale ou verticale d'un la position, obtenu respectivement comme
position .x|.y
Les fonctions à un argument sont abs, accos, un péché, cos, exp, expé, entier, Journal, loge, signer, péché,
carré, bronzer, sol. les fonctions exp ainsi que enregistrer sont en base 10. La fonction rand () offre un
nombre aléatoire entre 0 et 1, et rand (expression) initialise le générateur de nombres aléatoires.
Les fonctions à deux arguments sont atan2, max min pmod De pmod est la fonction modulo
délivrer une valeur positive.
Prédéfini sûr, heureux et sain les variables
Un ensemble de variables prédéfinies établit les valeurs par défaut des paramètres de dessin. Leur
les valeurs sont héritées du bloc supérieur, mais peuvent être modifiées par affectation. Ils peuvent
être utilisé dans des expressions comme d'autres variables. Les variables, leurs valeurs par défaut et
les utilisations par défaut sont données ci-dessous
arcrad 0.25 rayon d'arc
flèche 0.1 longueur de pointe de flèche
largeur de flèche 0.05 largeur de pointe de flèche
boîte 0.5 hauteur de caisse
boxrad 0 rayon des coins arrondis de la boîte
largeur de la boîte 0.75 largeur de boîte
cercle 0.25 rayon de cercle
tiret 0.05 longueur de tiret pour les lignes pointillées
ellipse 0.5 hauteur d'ellipse
largeur ellipse 0.75 largeur d'ellipse
ligne 0.5 hauteur de lignes verticales
largeur de ligne 0.5 longueur de lignes horizontales
déplacer 0.5 longueur de mouvements horizontaux
déplacer 0.5 longueur de mouvements horizontaux
texte 0 hauteur de texte supposée
décalage de texte 2.5/72 écart de justification du texte
largeur de texte 0 largeur de texte supposée
Lorsqu'une valeur est affectée à la variable escalader, toutes les valeurs ci-dessus sont multipliées par
la nouvelle valeur de majeure. Les unités de dessin sont ainsi modifiées mais la valeur physique par défaut
les tailles des objets dessinés restent inchangées car, à la sortie finale, les dimensions sont divisées par
le escaliers valeur. En outre, les éléments suivants sont inchangés par échelle:
pointe de flèche 1 forme de pointe de flèche
valeur de remplissage 0.5 densité de remplissage
épaisseur de ligne 0.8 épaisseur de trait en points
maxpsht 11.5 hauteur de diagramme maximale autorisée
maxpswid 8.5 largeur de diagramme maximale autorisée
escaliers 1 facteur d'échelle de l'unité de dessin
Les variables maxpswid ainsi que maxpsht peut devoir être redéfini pour les grands diagrammes ou
personnages du paysage, par exemple.
positions
A position équivaut à une paire de coordonnées définie dans les unités de dessin courantes et peut être
exprimé sous les formes suivantes :
Ici
La position de dessin actuelle.
expr, expr
Une paire d'expressions séparées par une virgule.
( position )
Une position entre parenthèses pour le regroupement.
( position , position )
Prend la valeur horizontale de la première position et
la valeur verticale de la seconde.
position +|- position
Ajout de vecteur.
position *|/ expr
Postmultiplication scalaire.
Libellé
L'étiquette d'une position ou d'un objet défini. La position
est le centre de l'objet.
expr [de le manière] jusqu'à XNUMX fois position ainsi que position
L'exemple x jusqu'à XNUMX fois A ainsi que B est égal à A*(1-x) + B*x.
Toute valeur de expr est autorisée.
expr < la position, position >
Un équivalent abrégé de la forme précédente.
nombre st|rd|nd|th [dernier] objet
Un objet énuméré dans le bloc actuel.
Les objet fait partie de
ligne, bouge toi, La Flèche, arc, boîte, ellipse, cercle, cannelure, [],"" .
Le nombre peut être
remplacé par { expr }. Par exemple, dernier "" signifie le
dernière chaîne, et {2^2}ème [] signifie le quatrième bloc dans le
portée actuelle. La position est le centre de l'objet.
Des parenthèses peuvent être requises lorsque des positions ou des expressions composites sont utilisées dans ce qui précède
formes.
Enfin, une position peut être exprimée comme
objet . défini point
String
A un magnifique est une séquence de caractères entre guillemets doubles. Pour inclure un guillemet double
dans une chaîne, faites-la précéder d'une barre oblique inverse. Les chaînes peuvent être concaténées à l'aide de la +
opérateur. La fonction de type C
sprintf ( le format chaîne, expression, )
équivaut à une chaîne. Les expressions sont des valeurs à virgule flottante, donc la seule
les formats de nombres sont e, f, ainsi que g.
Plusieurs chaînes telles que "texte 1" "texte 2" sont empilés et centrés verticalement.
Une chaîne attachée à un objet recouvre l'objet au centre, et tout la taille or largeur
les attributs s'appliquent à l'objet, pas à la chaîne. Cependant, les attributs de justification
juste ainsi que juste peut être appliqué aux chaînes individuelles d'une pile recouvrant un objet.
Une chaîne indépendante est placée avec son centre au point courant par défaut, ou par
spécifiant la position de l'un de ses points définis comme pour tout objet, par exemple,
"Croquant craquelins" large 82.3/72 ht 9.7/72 comprenant .sw at Q
Les qualificatifs de placement ci-dessus, au dessous de, juste, juste placez la chaîne au-dessus, au-dessous, ou
justifiée par rapport au point de placement. Par exemple,
"Croquant craquelins" at Q juste au dessus de
place la chaîne au-dessus et décalage de texte unités à droite de Q.
EXEMPLES
Exemple de fichier source.pic :
\documentclass{article}
\usepackage{tikz}
\ Begin {document}
. PS
boîte brisé "Bonjour" "Monde"
.PE
\ End {document}
La commande
dpic -g exemple.pic > exemple.tex; pdflatex exemple
produit example.pdf contenant une boîte en pointillés avec Hello et World empilés à l'intérieur.
Pour produire un fichier .tex contenant des commandes de dessin PSTricks à insérer dans un LaTeX
document à l'aide de la commande \input, supprimez les trois premières et dernières lignes ci-dessus
source et processus en utilisant le -p option de dpic.
De même, la source de l'image
. PS
\definecolor{puce}{rgb}{0.8,0.53,0.6}%
boîte ombragé "puce"
.PE
produit une boîte remplie d'une couleur semblable à une puce lorsqu'elle est traitée avec dpic -g or dpic -p ainsi que
le fichier résultant est inséré dans un fichier source latex en invoquant, respectivement, le tikz
ou paquet pstricks.
Utiliser dpic en ligne à l'aide des services onworks.net