Simple Graphics with PDF-primitives

Petr Olšák

Zpravodaj Československého sdružení uživatelů TeXu (2013)

  • Volume: 023, Issue: 1, page 13-30
  • ISSN: 1211-6661

Abstract

top
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-2] 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 [3].

How to cite

top

Olšák, Petr. "Jednoduchá grafika PDF-primitivně." Zpravodaj Československého sdružení uživatelů TeXu 023.1 (2013): 13-30. <http://eudml.org/doc/298558>.

@article{Olšák2013,
abstract = {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 [1] a Chvála [2]. 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 [3], 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í .},
author = {Olšák, Petr},
journal = {Zpravodaj Československého sdružení uživatelů TeXu},
keywords = {pdfTeX; kód PDF; grafika; pdfTeX; PDF code; graphics},
language = {cze},
number = {1},
pages = {13-30},
publisher = {Československé sdružení uživatelů TeXu},
title = {Jednoduchá grafika PDF-primitivně},
url = {http://eudml.org/doc/298558},
volume = {023},
year = {2013},
}

TY - JOUR
AU - Olšák, Petr
TI - Jednoduchá grafika PDF-primitivně
JO - Zpravodaj Československého sdružení uživatelů TeXu
PY - 2013
PB - Československé sdružení uživatelů TeXu
VL - 023
IS - 1
SP - 13
EP - 30
AB - 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 [1] a Chvála [2]. 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 [3], 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í .
LA - cze
KW - pdfTeX; kód PDF; grafika; pdfTeX; PDF code; graphics
UR - http://eudml.org/doc/298558
ER -

References

top
  1. Zýka, Vít, 10.5300/2001-4/181), Zpravodaj CSTUG, 4/2001 (doi: 10.5300/2001-4/181) (2001) DOI10.5300/2001-4/181)
  2. Zýka, Vít, 10.5300/2002-1/13), Zpravodaj CSTUG, 1/2002 (doi: 10.5300/2002-1/13) (2002) DOI10.5300/2002-1/13)
  3. Zýka, Vít, 10.5300/2002-2/47), Zpravodaj CSTUG, 2/2002 (doi: 10.5300/2002-2/47) (2002) DOI10.5300/2002-2/47)
  4. Zýka, Vít, 10.5300/2002-3-4/140), Zpravodaj CSTUG, 2–3/2002 (doi: 10.5300/2002-3-4/140) (2002) DOI10.5300/2002-3-4/140)
  5. Zýka, Vít, 10.5300/2004-2/47), Zpravodaj CSTUG, 2/2004 (doi: 10.5300/2004-2/47) (2004) DOI10.5300/2004-2/47)
  6. Zýka, Vít, 10.5300/2005-1/90), Zpravodaj CSTUG, 1/2005 (doi: 10.5300/2005-1/90) (2005) DOI10.5300/2005-1/90)
  7. Zýka, Vít, 10.5300/2007-2/67), Zpravodaj CSTUG, 2/2007 (doi: 10.5300/2007-2/67) (2007) DOI10.5300/2007-2/67)
  8. Chvála, František, 10.5300/2005-1/2), Zpravodaj CSTUG, 1/2005 (doi: 10.5300/2005-1/2). (2005) DOI10.5300/2005-1/2)
  9. Tantau, Till, TikZ & PGF: manual, Soubor pgfmanual.pdf v distribucích TeXu. Dostupné na http://sourceforge.net/projects/pgf/ 
  10. Thành, Hàn Thế, Rahtz, Sebastian, Hagen, Hans, Henkel, Hartmut, Jackowski, Pawel, Schröder, Martin, Berry, Karl, The pdfTeX user manual, Dostupné na: http://www.tug.org/applications/pdftex/ 
  11. Olšák, Petr, OPmac - rozšiřující makra plainTeXu, Dostupné na: http://petr.olsak.net/opmac.html (2013) 
  12. Olšák, Petr, Uživatelská dokumentace k OPmac, Dostupné na: http://petr.olsak.net/ftp/olsak/opmac/opmac-u.pdf (2012) 
  13. Olšák, Petr, CUstyle - Šablona v plainTeXu pro sazbu studentských závěrečných prací na Univerzitě Karlově, Dostupné na: http://petr.olsak.net/custyle.html (2013) 
  14. PDF Reference, http://www.adobe.com/devnet/pdf/pdf_reference.html 

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.