Questo è il comando dpic che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online di Windows o emulatore online di MAC OS
PROGRAMMA:
NOME
dpic ‐ converte l'input in linguaggio pic in formati compatibili con LaTeX e altri
SINOSSI
dpic [ -efghmprstvxz ] [ infilare ] [> file di uscita ]
Tipicamente infilare è della forma nome[.bit] e file di uscita è della forma
nome[.tex|.eps|.fig|.mp|.svg]
VERSIONI
(Nessuno) Output di disegno LaTeX (capacità di disegno basata sui font molto limitata)
-e uscita pict2e
-f Output Postscript, stringhe in formato psfrag
-g Uscita TikZ-pgf
-h scrivi un messaggio di aiuto ed esci
-m output mfpic (vedere la documentazione mfpic)
-p Output PSTricks
-r output Postscript grezzo, nessuna formattazione automatica delle stringhe
-s Output MetaPost
-t output di eepicemu (leggermente meno limitato dell'output di disegno LaTeX)
-v output svg
-x output xfig 3.2
-z modalità provvisoria (accesso ai file esterni disabilitato)
DESCRIZIONE
Dpic accetta un sottoinsieme ristretto del linguaggio di disegno pic accettato da GNU pic (a volte
denominato gpic) o AT&T pic, ed emette comandi di disegno di livello inferiore per l'inserimento in LaTeX
documenti, per l'elaborazione tramite gli strumenti di disegno xfig o Inkscape, o per la visualizzazione diretta come
Postscript o SVG incapsulato. È possibile inserire testo arbitrario nell'output per un utilizzo successivo
formattazione e comandi arbitrari per il post-processore (PSTricks, Tikz-pgf, ecc.) possono
essere incluso. Dpic restituisce EXIT_SUCCESS (normalmente 0) se i messaggi non sono più gravi di
sono stati generati avvisi, altrimenti EXIT_FAILURE (normalmente 1).
Per scopi specifici vengono implementate alcune estensioni linguistiche esclusive di dpic.
LINGUA SOMMARIO
L'input è costituito da una sequenza di linee. La prima riga di un'immagine è . PS e l'ultimo è
.PE, con le linee tra questi due convertite in comandi di disegno di basso livello per il
postprocessore scelto dall'opzione. Linee esterne a . PS ... .PE passare attraverso dpic
invariato.
Coordinate
Gli assi cartesiani nel linguaggio PIC puntano verso destra e verso l'alto. Le unità di disegno sono
pollici per impostazione predefinita ma l'istruzione
scala = 25.4
all'inizio del diagramma ha l'effetto di cambiare le unità in millimetri.
Drawn oggetti
Gli oggetti disegnati primitivi sono costituiti da oggetti planari scatola, cerchio, ellisse; il lineare
oggetti linea, freccia, mossa, scanalatura; e arco, che ha caratteristiche sia planari che
oggetti lineari. A bloccare è una coppia di parentesi quadre che racchiudono altri oggetti: [ nulla
] ed è un oggetto planare. Il diagramma completo è contenuto implicitamente in un blocco.
A stringa è un oggetto planare simile a una scatola, ma il linguaggio pic consente anche alle stringhe di
essere collegati ad altri oggetti come sovrapposizioni, nel qual caso diventano parte dell'oggetto.
La posizione attuale del disegno Qui è sempre definito. Inizialmente e all'inizio di un
blocco, Qui è 0,0. Allo stesso modo, la direzione corrente, che può essere una qualsiasi delle up, giù, sinistra,
destra, è impostato come right inizialmente.
Ogni oggetto disegnato ha un punto di ingresso e un punto di uscita, che dipendono dalla corrente
direzione. Il punto di ingresso viene posizionato per impostazione predefinita nella posizione corrente. Gli oggetti possono
essere posizionato anche esplicitamente rispetto alle coordinate assolute o relative ad altre
oggetti. Il punto di uscita diventa la nuova posizione corrente.
Etichette
A etichetta in pic è una sequenza alfanumerica che inizia con una lettera maiuscola. Dpic
consente di indicizzare variabili ed etichette; quindi T e T[5] sono etichette distinte. Il
il valore tra parentesi può essere qualsiasi espressione ma viene arrotondato al valore intero più vicino. Un
etichetta fornisce un nome simbolico a una posizione o a un oggetto disegnato; ad esempio,
Inviare: Qui + (1,2)
Autobus[23]: linea right 4
Definito punti
Una volta disegnato, un oggetto lineare ha punti definiti .inizio, .centro, e .FINE, quale può essere
indicati come posizioni note, ad esempio,
L: linea; linea up 0.5 da Lc
where .centro è stato abbreviato come .c
I punti definiti per un oggetto planare sono i punti cardinali sulla sua periferia dati da
.N, .S, .e, .W, .nw, .ne, .se, .sw, insieme .centro, .superiore, .metter il fondo a, .Giusto, .Sinistra.
Per un arco, questi punti corrispondono al cerchio di cui l'arco è una parte, con l'
aggiunta di .inizio e .FINE.
A bloccare ha punti definiti simili a una scatola, ma può averne anche altri al suo interno.
Utilizzando l'esempio
A: [ cerchio; Q: [ linea; cerchio ]; T: Domanda ]
i punti definiti sono i seguenti:
I punti del blocco esterno come se fosse una scatola, per
esempio, A.ne
Una posizione definita nel blocco, ad esempio, ATI
I punti definiti degli oggetti etichettati all'interno del blocco,
preceduto da un punto, ad esempio, COSÌ (il centro di
bloccare Q), or AQne (l'angolo nord-est di Q).
I punti definiti degli oggetti enumerati all'interno del
blocco, preceduto da un punto (ma assicurati che ci sia uno spazio
dopo il punto se è seguito da un numero anziché
un'espressione tra parentesi graffe), ad esempio, AQ 1st cerchio.n
o (meglio) AQ{1}st cerchio.n
Lingua elementi
Le linee che definiscono un'immagine sono separate da caratteri di nuova riga o punto e virgola. Nuove linee
sono significativi tranne dopo poi, ;, :, {, altro, o nuova riga.
Una riga continua alla successiva se il carattere più a destra è una barra rovesciata.
Le linee non continuative che iniziano con un punto vengono ignorate, ad eccezione di . PS e .PE Linee.
La fonte dell'immagine può essere commentata posizionando ogni commento a destra di un # carattere
(a meno che il # è in una stringa).
Gli elementi linguistici includono quanto segue:
Un comando di disegno con etichetta facoltativa, ad esempio, nella scatola or A: nella scatola
Una definizione di etichetta di posizione, ad esempio A: posizione
Un'assegnazione a una variabile, ad esempio x = 5
A direzione (per modificare l'impostazione predefinita), ad esempio, up
La ramificazione viene eseguita da
if espr poi { vero } altro { dofalse }.
La struttura di looping è
da variabile = espr a espr [di [*] aumento ] do { nulla }.
La variabile del ciclo viene incrementata di 1 per impostazione predefinita, altrimenti di aumento (che potrebbe essere un
espressione negativa) a meno che non sia preceduta dall'asterisco, nel qual caso il ciclo
la variabile è moltiplicata per incremento La variabile del ciclo può essere modificata dalle istruzioni nel
loop, controllando così il numero di ripetizioni del loop.
Le parentesi graffe si presentano in diversi contesti. Quando vengono utilizzate indipendentemente da altri elementi linguistici, come
{ nulla }
la parentesi graffa sinistra salva la posizione e la direzione correnti, mentre quella destra le ripristina
ai valori salvati dopo l'elaborazione delle righe allegate.
È possibile generare comandi post-processore arbitrari utilizzando
command stringa,
che inserisce il contenuto di stringa nell'output. Il stringa il contenuto deve essere
compatibile con il post-processore scelto. Allo stesso modo, qualsiasi riga che inizia con un
la barra rovesciata viene copiata letteralmente nell'output.
La linea
exec stringa
esegue il contenuto di stringa come se fosse una normale linea di input.
Per eseguire i comandi della shell del sistema operativo, utilizzare
sh stringa
e per leggere le righe da un file esterno, utilizzare
copia stringa
Questi comandi sono disabilitati dall'opzione dpic -z o tramite un interruttore in fase di compilazione.
Il comando
stampare espressione|posizione|stringa [ > stringa | >> stringa ]
stampa o aggiunge il suo argomento al file indicato nella stringa a destra, o per impostazione predefinita
all'errore standard. La stampa su file è disabilitata dall'opzione -z.
Macro
Il linguaggio pic include la definizione e l'espansione delle macro, utilizzando
definire Nome { nulla },
così che, quando Nome appare da solo o con argomenti come Nome ( argomento, ... ) allora lo è
sostituito dal contenuto tra parentesi graffe nella definizione. Una virgola in un argomento
l'elenco viene ignorato all'interno di una stringa o tra parentesi. In questa sostituzione, le occorrenze di $1
vengono sostituiti dal primo argomento e così via per gli altri argomenti. Il valore $+ in un
macro è il numero di argomenti forniti alla macro. dpic ignora gli spazi vuoti (spazi,
nuove righe e caratteri di tabulazione) che precedono direttamente un argomento in una chiamata macro. Un
la definizione della macro può essere eliminata da
indefinito Nome
Le definizioni delle macro sono globali, il che potrebbe richiedere una giudiziosa definizione delle macro se ci sono
c'è il rischio di conflitti di nomi.
disegno comandi
Un oggetto viene disegnato utilizzando il seguente formato generale:
[ etichetta :] oggetto [ gli attributi ] [ collocamento ] [ stringhe ]
Gli elementi seguenti oggetto può verificarsi in qualsiasi ordine, ma l'ordine può fare la differenza per
il risultato disegnato, poiché le linee vengono lette e interpretate da sinistra a destra. I valori predefiniti sono
assunti per tutti i parametri di disegno, se necessario. Ad esempio, la sequenza
cerchio "Masticare"; freccia; nella scatola "Rondine"
linea; arco cw ->; Ellisse "Digerire"
disegna un semplice diagramma di flusso utilizzando le dimensioni predefinite per tutti gli oggetti, con parole centrate in
il cerchio, il riquadro e l'ellisse.
Attributi
Le dimensioni e altri parametri controllano l'aspetto degli oggetti. Un attributo è un
parola chiave o parole chiave con espressioni appropriate.
Gli attributi delle dimensioni sono i seguenti, con abbreviazioni valide:
altezza|altezza|larghezza|larghezza|raggio|rad|diametro|diam|scalato espr
Quando aggiunto a oggetti lineari, altezza e larghezza si applicano alle dimensioni delle punte di freccia. Il
scalato l'attributo ridimensiona l'oggetto di espr.
La dimensione post-elaborata di una stringa è sconosciuta in anticipo al processore pic, ma una volta
noto, le dimensioni del riquadro di delimitazione possono essere specificate esplicitamente come per altri oggetti disegnati,
come mostrato:
stringa WID espr ht espr
Lo spessore delle linee che definiscono un oggetto viene modificato utilizzando la variabile ambientale
linea spessa o l'attributo
spessore|spesso espr
espresso in punti. Lo spessore della linea è indipendente da qualsiasi scala.
Per impostazione predefinita vengono disegnate linee continue; è possibile modificarle con
solido|invisibile|invisibile
o con
punteggiato|tratteggiato [ espr ]
l'espressione facoltativa in quest'ultima impostazione della lunghezza e della distanza tra trattini o
puntini.
I seguenti attributi servono per posizionare le punte di freccia all'inizio, alla fine o ad entrambe le estremità di un
oggetto lineare:
<-|->|<-> [ espr ]
Il parametro di forma espr può essere omesso, nel qual caso il valore dell'ambiente
variabile punta di freccia viene utilizzato. L'impostazione predefinita per freccia is ->.
La direzione di disegno di un arco viene modificata dall'attributo
ccw|cw
con ccw il predefinito.
Per riempire un oggetto o un percorso con una tonalità di grigio, utilizzare l'attributo
riempire [ espr ]
dove un valore di 1 significa bianco e 0 significa nero. I percorsi possono essere riempiti dove
il post-processore lo consente.
Il colore della linea può essere impostato utilizzando
delineare|delineato stringa
dove il contenuto della stringa dipende dal post-processore. I colori predefiniti di
È possibile specificare pacchetti LaTeX o Tikz-pdf. Il linguaggio pic non conosce dettagli su
colore; il contenuto della stringa deve essere compatibile con il post-processore. I colori personalizzati sono
da definire utilizzando il
command stringa
struttura in modo che il post-processore ne sia a conoscenza.
Il riempimento per colore è simile, utilizzando l'attributo
ombroso stringa
e, quando sia il colore di riempimento che quello del contorno sono gli stessi, i due attributi possono essere
combinato come
colore|colore|colorato|colorato stringa
in cui tutte e quattro le grafie sono equivalenti.
Infine, l'attributo
stesso
duplica le proprietà dell'oggetto disegnato in precedenza dello stesso tipo, ma con l'
posizionamento predefinito corrente.
Oltre ai cambiamenti di scala effettuati dal scala variabile, la dimensione del completo
l'immagine può essere impostata aggiungendo uno o due termini all' . PS linea come mostrato:
. PS [x [y]]
dove x e y vengono valutati come valori costanti. Incontrando il .PE linea, l'immagine
Vengono calcolate la larghezza w e l'altezza h. Se x > 0, l'immagine viene ridimensionata in modo che w = x.
Se h > y > 0 o se x = 0 e y > 0, l'immagine viene ridimensionata in modo che h = y. Orizzontale
e il ridimensionamento verticale non sono indipendenti. La dimensione del testo, lo spessore della linea e le punte delle frecce sono
non in scala. Le unità sono pollici, quindi ad esempio,
. PS 100/25.4
imposta la larghezza finale dell'immagine a 100 mm. Il testo della stringa stampata può estendersi oltre
confini rettangolari definiti da w e h a meno che le dimensioni del testo non siano state esplicitamente
impostato.
Se la larghezza finale del diagramma supera maxpswid o l'altezza supera massimo poi il diagramma
è scalato come per x e y sopra.
Collocamento of disegnato oggetti
Per impostazione predefinita, un oggetto viene posizionato in modo che la sua voce si trovi nel punto corrente.
Il posizionamento esplicito si ottiene con
oggetto at posizione
che centra l'oggetto a posizione, or
oggetto con definito punto at posizione
per esempio,
arco cw da posizione a posizione con .c at posizione
Un blocco può anche essere posizionato facendo riferimento a uno spostamento dal suo angolo inferiore sinistro,
per esempio,
A: [ testuali ] con (0.5,0.2) at posizione.
Gli oggetti lineari vengono posizionati per impostazione predefinita con .inizio punto posizionato nel disegno corrente
posizione; altrimenti gli oggetti lineari sono definiti utilizzando una specifiche di linea, che è della forma
specifiche di linea = da posizione | a posizione | direzione [ espr ]
| specifiche di linea specifiche di linea
| specifiche di linea poi specifiche di linea
dove la seconda riga significa che specifiche di linea può essere concatenato, e il terzo che
Gli oggetti lineari multisegmento vengono disegnati utilizzando più specifiche di linea divisi da allora.
Come esempio, il seguente disegna un triangolo con il vertice più a sinistra nella posizione corrente
punto:
linea up 2 right 1.5 poi giù 3 poi a Qui
Eccezionalmente, il specifiche di linea
a posizione a posizione a ...
è multiplo e non richiede il poi parola chiave.
Un singolo espr è anche accettabile specifiche di linea subito dopo un oggetto lineare e significa
che l' oggetto è disegnato a lunghezza espr nella direzione attuale. L'eccezione a questo
is
spline [ espr ] specifiche di linea
per cui il espr è un parametro di tensione spline. Se espr viene omesso, una linea retta è
disegnato al punto medio dei primi due punti di controllo spline e dal punto medio del
gli ultimi due all'ultimo punto; la spline è tangente a tutti i punti medi tra i punti di controllo.
If espr è presente, la spline è tangente al primo e all'ultimo punto di controllo e a tutti
altri punti medi e la tensione della spline può essere regolata. Valori di tensione tra 0 e 1
sono tipici.
Nei casi in cui non tutti i punti di un oggetto lineare multisegmento sono noti in anticipo
o scomodo da calcolare, il comando di disegno
continua specifiche di linea
aggiungerà un segmento all'oggetto lineare disegnato in precedenza come se continua sono stati poi, con
due differenze. Calcoli arbitrari possono essere effettuati tra l'oggetto precedente e l'
continua istruzione e il punto corrente è il punto di uscita dell'oggetto precedente.
La costruzione
linea da posizione a posizione tritare espr
tronca la linea a ciascuna estremità del valore di espr o se espr è omesso, dalla corrente
raggio del cerchio. Altrimenti
linea da posizione a posizione tritare espr1 tritare espr2
tronca la linea delle due distanze specificate alle estremità. I valori di troncamento possono essere
negativo.
L'attributo
by posizione
è per il posizionamento, ad esempio,
cambiano by (5,6)
Variabili e espressioni
I nomi delle variabili sono sequenze alfanumeriche che iniziano con una lettera minuscola, facoltativamente
indicizzati come per le etichette e sono definiti tramite assegnazione. Ad esempio, la seguente riga
definisce la variabile x se non esiste già nell'ambito corrente:
x = espr
L'ambito delle variabili pic è il blocco corrente in cui sono definite, incluso
blocchi definiti in seguito all'interno del blocco corrente. L'assegnazione
x := espr
richiede x essere stato definito in precedenza nel blocco corrente o in un blocco che lo racchiude.
Le espressioni sono costituite da valori in virgola mobile combinati utilizzando l'operatore unario "!" per
negazione logica e le solite parentesi e operatori binari in ordine decrescente di
precedenza:
^
* / %
+ -
== != >= <= < >
&&
||
Nei test logici, il valore 0 è equivalente a falso e un valore diverso da zero a vero, con
il valore vero risultante è 1.
Un valore in virgola mobile viene ottenuto come un intero, un numero con e sintassi, una funzione
valore, un valore di dimensione di un oggetto disegnato, ad esempio,
ultimo box.ht,
o la coordinata orizzontale o verticale di un posizione, ottenuti rispettivamente come
posizione .x|.y
Le funzioni con un argomento sono abs, acos, asino, cos, esperienza, esperienza, interno, registro, loggia, segno, peccato,
quadrato, abbronzatura, piano. Le funzioni exp e ceppo sono in base 10. La funzione rand () consegna a
numero casuale tra 0 e 1, e rand (espr) inizializza il generatore di numeri casuali.
Le funzioni a due argomenti sono atan2, max min, pmod where pmod è la funzione modulo
fornendo un valore positivo.
predefiniti Industria XNUMX variabili
Un insieme di variabili predefinite stabilisce i valori predefiniti dei parametri di disegno. Il loro
i valori vengono ereditati dal blocco superiore, ma possono essere modificati tramite assegnazione. Possono
essere utilizzato in espressioni come altre variabili. Le variabili, i loro valori predefiniti e
di seguito sono riportati gli usi predefiniti
arcrad Raggio d'arco 0.25
freccia 0.1 lunghezza della punta della freccia
arrowwid 0.05 larghezza della punta della freccia
boxht 0.5 altezza della scatola
boxrad 0 raggio degli angoli arrotondati della scatola
boxwid 0.75 larghezza della scatola
cerchiorad Raggio del cerchio 0.25
trattino Lunghezza del trattino 0.05 per le linee tratteggiate
ellisse 0.5 altezza dell'ellisse
ellisse larghezza dell'ellisse 0.75
linea 0.5 altezza delle linee verticali
larghezza della riga 0.5 lunghezza delle linee orizzontali
spostare 0.5 lunghezza dei movimenti orizzontali
spostare 0.5 lunghezza dei movimenti orizzontali
testo 0 altezza presunta del testo
offset del testo 2.5/72 gap di giustificazione del testo
larghezza di testo 0 larghezza presunta del testo
Quando un valore viene assegnato alla variabile scala, tutti i valori sopra indicati vengono moltiplicati per
il nuovo valore di scala. Le unità di disegno vengono quindi modificate ma l'unità fisica predefinita
le dimensioni degli oggetti disegnati rimangono invariate poiché, nell'output finale, le dimensioni vengono divise per
, il scala valore. Inoltre, quanto segue rimane invariato da scala:
punta di freccia 1 forma a punta di freccia
valore di riempimento densità di riempimento 0.5
linea spessa 0.8 spessore della linea in punti
massimo 11.5 altezza massima consentita del diagramma
maxpswid 8.5 larghezza massima consentita del diagramma
scala 1 fattore di scala dell'unità di disegno
Le variabili maxpswid e massimo potrebbe dover essere ridefinito per diagrammi di grandi dimensioni o
figure paesaggistiche, ad esempio.
posizioni
A posizione è equivalente a una coppia di coordinate definita nelle unità di disegno correnti e può essere
espresso nelle seguenti forme:
Qui
La posizione attuale del disegno.
espr,espr
Una coppia di espressioni separate da una virgola.
( posizione )
Una posizione tra parentesi per il raggruppamento.
( posizione , posizione )
Prende il valore orizzontale dalla prima posizione e
il valore verticale dal secondo.
posizione +|- posizione
Addizione vettoriale.
posizione *|/ espr
Postmoltiplicazione scalare.
etichetta
L'etichetta di una posizione o di un oggetto definito. La posizione
è il centro dell'oggetto.
espr [di , il modo] fra posizione e posizione
L'esempio x fra A e B è pari al Un*(1-x) + B*x.
Qualsiasi valore di espr È permesso.
espr < posizione, posizione >
Equivalente abbreviato della forma precedente.
numero st|rd|nd|th [scorso] oggetto
Un oggetto enumerato all'interno del blocco corrente.
. oggetto è uno dei
linea, mossa, freccia, arco, scatola, ellisse, cerchio, scanalatura, [],"" .
Il numero può essere
sostituito da { espr }. Per esempio, ultimo "" significa che
ultima stringa, e {2^2}° [] significa il quarto blocco nel
ambito corrente. La posizione è il centro dell'oggetto.
Le parentesi possono essere necessarie quando vengono utilizzate posizioni o espressioni composte in quanto sopra
le forme.
Infine, una posizione può essere espressa come
oggetto . definito punto
String
A stringa è una sequenza di caratteri racchiusa tra virgolette doppie. Per includere una virgoletta doppia
in una stringa, precederla con una barra rovesciata. Le stringhe possono essere concatenate utilizzando +
operatore. La funzione simile al C
sprintf ( formato stringa, espr, ... )
è equivalente a una stringa. Le espressioni sono valori in virgola mobile, quindi l'unico applicabile
i formati numerici sono e, f, e g.
Più stringhe come "Testo 1" "Testo 2" sono impilati e centrati verticalmente.
Una corda attaccata a un oggetto si sovrappone all'oggetto al centro e qualsiasi altezza or larghezza
Gli attributi si applicano all'oggetto, non alla stringa. Tuttavia, gli attributi di giustificazione
giusto e giusto può essere applicato alle singole stringhe di una pila sovrapposta a un oggetto.
Per impostazione predefinita, una stringa indipendente viene posizionata con il suo centro nel punto corrente, oppure
specificando la posizione di uno dei suoi punti definiti come per qualsiasi oggetto, per esempio,
"Croccante cracker" WID 82.3/72 ht 9.7/72 con .sw at Q
I qualificatori di collocamento sopra, sotto, solo, giusto posizionare la stringa sopra, sotto o
giustificato rispetto al punto di posizionamento. Ad esempio,
"Croccante cracker" at Q giusto sopra
posiziona la stringa sopra e offset del testo unità a destra di Q.
ESEMPI
File sorgente example.pic:
\documentclass{articolo}
\usepackage{tikz}
\ Begin {document}
. PS
nella scatola tratteggiata "Ciao" "Mondo"
.PE
\ End {document}
Il comando
dpic -g esempio.pic > esempio.tex; pdflatex esempio
produce example.pdf contenente un riquadro tratteggiato con Hello e World impilati all'interno.
Per produrre un file .tex contenente i comandi di disegno PSTricks da inserire in un file LaTeX
documento utilizzando il comando \input, eliminare le prime tre e le ultime righe sopra
origine e processo utilizzando il -p opzione dpic.
Allo stesso modo, la fonte dell'immagine
. PS
\definecolor{puce}{rgb}{0.8,0.53,0.6}%
nella scatola ombroso "pulce"
.PE
produce una scatola piena di un colore simile a quello delle pulci quando viene elaborata con dpic -g or dpic -p e
il file risultante viene inserito in un file sorgente latex invocando, rispettivamente, il tikz
o pacchetto pstricks.
Utilizzare dpic online utilizzando i servizi onworks.net