پی اف جی/تیکز

**پی اف جی/ تیکز (به انگلیسی PGF /Ti ''k'' Z**) یک زوج برای تولید گرافیک‌های برداری (به عنوان مثال، تصاویر فنی و نقشه‌ها) از توضیحات هندسی / جبری، با ویژگی‌های استاندارد شامل ترسیم نقاط، خطوط، فلش‌ها، مسیرها، دایره‌ها، بیضی‌ها و چند ضلعی‌ها است. پی اف جی یک زبان سطح پایین است، در حالی که تیکز مجموعه ای از ماکروهای سطح بالاتر است که از پی اف جی استفاده می‌کند. دستورهای سطح بالا پی اف جی و تیکز به عنوان ماکرو تک(TeX) فراخوانی می‌شوند، اما در مقابل با PSTricks، خود گرافیک پی اف جی / تیکز به زبانی توصیف می‌شود که شبیه متاپست است. تیل تانتائو(Till Tantau) طراح زبانهای پی اف جی و تیکز است. او همچنین توسعه دهنده اصلی تنها مترجم شناخته شده برای پی اف جی و تیکز است که در TeX نوشته شده‌است. پی اف جی(PGF) مخفف عبارت "Portable Graphics Format" به معنی "قالب گرافیکی قابل حمل" است. تیکز (*Ti K* Z) در نسخه ۰٫۹۵ از پی اف جی معرفی شد. تیکز مخفف بازگشتی برای عبارت آلمانی "Ti *K* Z IST *kein* Zeichenprogramm" که به معنی "تیکز یک برنامه طراحی *نیست" می‌باشد.*
## بررسی اجمالی
مترجم پی اف جی / تیکز را می‌توان از بسته‌های کلان محبوب LaTeX و ConTeXt و همچنین به‌طور مستقیم از TeX اصلی استفاده کرد.  از آنجا که TeX خود به گرافیک مربوط نمی‌شود، مفسر از چندین پشتیبان خروجی TeX پشتیبانی می‌کند: dvips , dvipdfm / dvipdfmx / xdvipdfmx , TeX4ht و درایور خروجی PDF داخلی pdftex. 

بر خلاف PSTricks، پی اف جی به این ترتیب می‌تواند مستقیماً پست اسکریپت یا PDF خروجی را تولید کند، اما نمی‌تواند از برخی از ویژگی‌های پیشرفته تر برنامه‌نویسی PostScript که PSTricks به دلیل اثر «مخرج رایج» دارد، استفاده کند. پی اف جی / تیکز با مستندات گسترده‌ای ارائه می‌شود. نسخه 3.1.4a کتابچه راهنمای کاربر دارای بیش از ۱۳۰۰ صفحه است.

با استفاده از بسته `pgfpict2e` می‌توانید از محیط استاندارد LaTeX `picture` به عنوان یک قسمت جلویی برای PGF استفاده کنید. 

این پروژه از سال ۲۰۰۵ در دست توسعه است. بیشتر توسعه توسط تسل تانتائو انجام می‌شود. نسخه ۳٫۰٫۰ در ۲۰ دسامبر ۲۰۱۳ منتشر شد. یکی از مهمترین ویژگی‌های جدید این نسخه، ترسیم نمودار با استفاده از بسته `graphdrawing` است که البته به LuaTeX نیاز دارد. این نسخه همچنین یک روش تجسم داده جدید و پشتیبانی از خروجی مستقیم SVG از طریق درایور dvisvgm جدید اضافه کرده‌است.

## خروجی
چندین ویرایشگر گرافیکی می‌توانند خروجی برای پی اف جی /تیکز تولید کنند، مانند برنامه KDE Cirkuit و برنامه ترسیم ریاضی جئوجبرا. اینک‌ایکیپ (از طریق یک افزونه خروجی تیکز می‌دهد)، بلندر، متلب، کتابخانه مت‌پلات،گنوپلات، و آر. بسته مدار ماکرو از ماکروهای m4 با استفاده از گزینه خط فرمان `dpic -g` نمودارهای مدار را به تیکز صادر می‌کند. برنامه dot2tex می‌تواند پرونده‌ها را به زبان توصیف نمودار DOT به پی اف جی / تیکز تبدیل کند.

## کتابخانه‌ها
تیکز کتابخانه‌هایی را برای طراحی آسان بسیاری از انواع نمودارها فراهم کرده‌است

* نمایش سه بعدی `3d`
* پذیرنده متناهی معین و ماشین تورینگ`automata`
* دستگاه مختصات محاسیات `calc`
* تقویم `calendar`
* زنجیره‌ها: گرهگره‌ها معموال با یالها به هم وصل می شوند`chain`
* مدار منطقی و طرح‌واره`circuits.logic` and `circuits.ee`
* مدل موجودیت–رابطه`er`
* خم چندوجهی `folding`
* گراف `graphdrawing`
* نگارال `lindenmayersystems`
*  عملیات (ریاضی)`math`
* ماترس `matrix`
* نقشه ذهنی `mindmap`
* ژرفانمایی (گرافیک) drawings`perspective`
* شبکه پتری`petri`
* آردی‌اف گزارمان (only in SVG output)`rdf`
* شکلو نماد `shapes.geometric` و `shapes.symbols`
* بزرگنمایی `spy`
* گرافیک برداری در قالب SVG `svg.path`
* نمودار درختی `trees`
* گرافیک لاکپشتی `turtle`
* بزرگنمایی دیجیتالی و افق‌گرد (فیلم‌برداری) graphics`views`

## آلبوم عکس
تصاویر زیر با تیکز ایجاد شده و نمونه‌هایی از طیف وسیعی از انواع گرافیکی تولید شده را نشان می‌دهد. پیوند موجود در هر عنوان به کد منبع برای تصویر اشاره دارد.


File:Periodic-table-of-chemical-elements.svg|Periodic table of chemical elements (libraries used: `calc`, `shapes`)
File:Rooty-helix.svg|Rooty helix (library used: `calc`)
File:LighthouseMap.pdf|Mind map of ''To the Lighthouse'' (libraries used: `mindmap`, `shapes.misc`)
File:Lda-gauss-variance-big.svg|Plot of two normal distributed variables with big variance (libraries used: `arrows`, `positioning`)
File:Hypersurface-3.svg|Hypersurface rendering (libraries used: `arrows`, `calc`, `decorations.markings`, `intersections`, `positioning`)
File:Bayesian-gaussian-mixture-vb.svg|Bayesian Gaussian mixture model (libraries used: `arrows`, `backgrounds`, `calc`, `fit`, `matrix`, `patterns`, `plotmarks`, `shadows`)
File:Capacitor equivalent circuits.svg|Capacitor equivalent circuits (library used: `arrows`)
File:Batezbestekoak frogak eskema 001.pdf|Diagram showing different types of mean-tests (libraries used: `arrows`, `shapes`)
File:3d-gradient-colored.svg|Gradient plot of a function (library used: `arrows.meta`)
File:Csv-2d-gaussian-multivarate-distributions.svg|Multivariate Gaussian distributions (libraries used: `arrows`, `positioning`)
File:Feed-forward-perceptron.svg|Feed-forward perceptron (libraries used: `arrows`, `arrows.meta`)
File:Shield of the Trinity with the Four Relations.svg|Shield of the trinity with the four relations (libraries used: `graphdrawing`, `graphs`, `quotes`)
File:English Length Units Graph.svg|English length units graph
File:Graph homomorphism into C5.svg|Graph homomorphism into C5 (library used: `calc`)
File:Krausz-Partition 2.png|Subgraphs of the Krausz partition of a given line graph
File:Adjacencylist array of linkedlists undirectedgraph.svg|Adjacencylist of a graph implemented as array of linked lists (libraries used: `arrows`, `calc`, `positioning`, `shapes.multipart`)


## منابع

رده:زبان‌های برنامه‌نویسی شیءگرا
رده:نرم‌افزارهای آزاد چندسکویی