DOI: 10.5300/2013-1/13

Zpravodaj Československého sdružení uživatelů TEXu 1/2013

Pages: 13–30

Author: Petr Olšák

Jednoduchá grafika PDF-primitivně

Představme si, že potřebujeme do dokumentu přidat jednoduchou čáru nebo tvar či vytvořit speciální opakující se symbol. V takovém případě nemusíme volat složitá makra na komplexní grafiku ani vytvářet nový font. Je totiž možné na věc jít přímočaře, a to použitím pdfTEXových primitivních příkazů a elementárních grafických operátorů, kterým rozumí PDF rasterizér. K rozšíření našich možností stačí znát velmi omezenou sadu těchto příkazů

V tomto článku shrneme primitivní příkazy pro tvorbu grafiky a ilustrujeme je na příkladech. Některé věci již uvedli Zýka a Chvála. Příklady v textu, který právě čtete, ukazují navíc možnosti, které v citovaných článcích nebyly zmíněny.

Pochopitelně nelze očekávat, že v následujících příkladech vytvoříme pohodlné uživatelské rozhraní pro „programování“ obrázků. K tomu slouží například velmi propracované makro TikZ, které pracuje v LATEXu i plainTEXu. Někdy je také vhodné vytvořit obrázky v interaktivním editoru a vkládat je do pdfTEXu pomocí \pdfximage.

pdfTEX, kód PDF, grafika

Simple Graphics with PDF-primitives

When an user inserts a simple graphics (a few lines, for example) to the document then he doesn't need to use a complicated macro package or a software in order to programme or generate such graphics. The usage of low level PDF code is sufficient and more straightforward. We need to know only a small set of PDF operators to do interesting results.

This article summarizes the basic primitive commands of PDF language and of the pdfTEX. They are illustrated in many examples here. Some similar techniques were mentioned in the articles [1–8] but more original examples are presented in this article.

We have to distinguish between creating a simple graphics presented in this article and programming more complex pictures by programming language at higher level like TikZ.

pdfTEX, PDF code, graphics

References

  1. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33aeaf45.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  2. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33b324b8.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  3. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33b6e037.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  4. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33ba94ef.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  5. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33be4e2e.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  6. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33c4d2c8.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  7. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33c883a6.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  8. Error on line 1 column 1 of file:/var/tmp/DOI_5bcef33cc37e7.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported
  9. Tantau, Till. TikZ & PGF: manual. URL: http://sourceforge.net/projects/pgf/
  10. Thanh, Han The et al. The pdfTEX user manual. URL: http://www.tug.org/applications/pdftex/
  11. Olšák, Petr. OPmac – rozšiřující makra plainTEXu. URL: http://petr.olsak.net/opmac.html
  12. Olšák, Petr. Uživatelská dokumentace k OPmac. URL: http://petr.olsak.net/ftp/olsak/opmac/opmac-u.pdf
  13. Olšák, Petr. CUstyle – Šablona v plainTEXu pro sazbu studentských závěrečných prací na Univerzitě Karlově. URL: http://petr.olsak.net/custyle.html
  14. PDF reference. URL: http://www.adobe.com/devnet/pdf/pdf_reference.html
Error on line 1 column 1 of file:/var/tmp/CitedBy_5bcef33d09bdc.xml: SXXP0003: Error reported by XML parser: Premature end of file. Transformation failed: Run-time errors were reported

Hlavní stránka Zpravodaje CSTUGu. Adresa redakce: zpravodaj@cstug.cz. (c) 1996-2012 CSTUG