PGF/TikZ è una coppia di linguaggi di programmazione per la produzione di grafica vettoriale (ad esempio illustrazioni e disegni tecnici) a partire da una descrizione geometrica/algebrica, con funzionalità standard tra cui il disegno di punti, linee, frecce, percorsi, cerchi, ellissi e poligoni. PGF è un linguaggio di basso livello, mentre TikZ è un insieme di macro di livello superiore che utilizzano PGF. I comandi PGF e TikZ di alto livello vengono richiamati come macro TeX, ma a differenza di PSTricks, la grafica PGF/TikZ è descritta in un linguaggio che ricorda MetaPost. Till Tantau è l'ideatore dei linguaggi PGF e TikZ. È anche lo sviluppatore principale dell'unico interprete noto per PGF e TikZ, scritto in TeX. PGF è l'acronimo di "Portable Graphics Format". TikZ è stato introdotto nella versione 0.95 di PGF ed è un acronimo ricorsivo di "TikZ ist kein Zeichenprogramm" (in tedesco "TikZ non è un programma di disegno").

Introduzione L'interprete PGF/TikZ può essere utilizzato dai popolari pacchetti macro LaTeX e ConTeXt, e anche direttamente da TeX. Poiché TeX stesso non si occupa di grafica, l'interprete supporta diverse backend di output TeX: dvips, dvipdfm/dvipdfmx/xdvipdfmx, TeX4ht e il driver di output PDF interno di pdftex. A differenza di PSTricks, PGF può quindi produrre direttamente un output PostScript o PDF, ma non può utilizzare alcune delle funzionalità di programmazione PostScript più avanzate che PSTricks può utilizzare a causa dell'effetto "minimo comune denominatore". PGF/TikZ è dotato di un'estesa documentazione; la versione 3.1.4a del manuale ha oltre 1300 pagine.

L'ambiente picture di LaTeX può anche essere utilizzato come front-end per PGF utilizzando il pacchetto pgfpict2e.

Il progetto è in costante sviluppo a partire dal 2005. La maggior parte dello sviluppo fino al 2018 è stato svolto da Till Tantau e, da allora, Henri Menke è stato il principale collaboratore. La versione 3.0.0 è stata distribuita il 20 dicembre 2013. Una delle principali novità di questa versione è la possibilità di disegnare grafici utilizzando il pacchetto graphdrawing, il quale richiede LuaTeX. Questa versione ha anche aggiunto un nuovo metodo di visualizzazione dei dati e il supporto per l'output SVG diretto tramite il nuovo driver dvisvgm.

Esportare Diversi editor grafici possono produrre output per PGF/TikZ, come il programma KDE Cirkuit e il programma di disegno matematico GeoGebra. L'esportazione in TikZ è disponibile anche come estensione per Inkscape, Blender, MATLAB, matplotlib, Gnuplot, Julia, e R. Il pacchetto circuit-macros di m4 macros esporta schemi di circuito elettrico in TikZ utilizzando il comando dpic -g. Il programma dot2tex può convertire i file nel linguaggio di descrizione del grafico DOT in PGF/TikZ.

Librerie TikZ contiene librerie per disegnare facilmente molti tipi di diagrammi, come le seguenti (in ordine alfabetico in base al nome della libreria):

Computer grafica 3D3d Automa a stati finiti e Macchina di Turingautomata Sistema di coordinatecalc Calendariocalendar Catene: nodi generalmente connessi da lati e disposti in righe e colonnechain Circuito logico e schema elettricocircuits.logic e circuits.ee Modello E-Rer Diagrammi di sviluppo piano di un poliedrofolding Raffigurazione di un grafo con opzione di allineamento automaticographdrawing Sistema di Lindenmayerlindenmayersystems Sequenze matematiche operazione aritmeticamath Matricematrix Mappa mentalemindmap Disegni in prospettivaperspective Rete di Petripetri Circuito quanticoquantikz RDF annotazioni semantiche (solamente in output SVG)rdf Forme e simboli specialishapes.geometric and shapes.symbols Ingrandimento di una parte di un insertospy Grafica vettoriale in SVGsvg.path Diagrammi ad alberotrees Turtle graphicsturtle Zoom e Panningviews

Galleria d'immagini Le immagini seguenti sono state create con TikZ e mostrano alcuni esempi delle tipologie grafiche che possono essere prodotte. Il collegamento in ogni didascalia rimanda al codice sorgente dell'immagine.

Note

Bibliografia Conference talk video (Archiviato da archive.org)

Secondo una review del 2011 su TUGboat: "It contains a detailed introduction to the TikZ suite—probably one of the best existing descriptions of this highly useful package."

Voci correlate LaTeX TeX Asymptote (linguaggio di grafica vettoriale)

Altri progetti

Collegamenti esterni

Categoria:Linguaggi di programmazione orientati agli oggetti Categoria:Software libero multipiattaforma Categoria:Tex