Menyisipkan gambar raster terformat non-eps ke file LaTeX atau LyX-1.1.x


I Wayan Warmada
Lab. Geokomputasi, Jurusan Teknik Geologi, FT UGM


1  Pendahuluan

Arikel atau buku tidak akan lengkap tanpa ada gambar baik berupa grafik maupun gambar raster di dalamnya. Dalam grafik dikenal ada dua macam format gambar, yaitu gambar vektor dan gambar raster. Gambar vektor sangat mudah disisipkan pada LaTeX atau LyX, karena hampir semua program penghasil grafik vektor menghasilkan format grafik standard postscript atau EPS (Encapsulated PostScript). Berbeda dengan gambar vektor, gambar raster sangat beragam jenisnya, misalnya bmp (Windows bitmap), tiff, jpeg, gif, png, targa, dll. Apakah LaTeX atau LyX bisa mengimport jenis gambar ini?

Sebelum menjawab pertanyaan ini, kita bisa lihat terlebih dahulu jenis format data apa yang akan dikirim ke devais keluaran selain devais bebas (dvi), yaitu printer atau layar. Ada dua macam format keluaran yang biasa dipakai untuk hal ini, yaitu postscript dan pdf (portable data format). Dalam penyisipan gambar raster pada file LaTeX kedua tipe format keluaran ini memerlukan perlakuan masing-masing, karena kedua format ini bukan standard keluaran LaTeX (keluaran standard LaTeX adalah dvi). Untuk menghasilkan file postscript LaTeX membutuhkan program bantu lain seperti dvips, sedangkan untuk menghasilkan file pdf program ini membutuhkan program bantu ps2pdf atau pdflatex, tex2pdf, pdftex.

Pada keluaran postscript atau pdf melalui program ps2pdf, gambar raster yang bisa disisipkan langsung adalah berformat eps. Namun bukan berarti format selain ini tidak bisa disisipkan pada file LaTeX. Pada prinsipnya file gambar jenis apa saja dapat disisipkan dalam file LaTeX, selama program konversi file tersebut ke dalam file eps tersedia dan dapat diakses oleh program LaTeX.

Berbeda dengan keluaran postscript, pada keluaran pdf melalui program pdftex, pdflatex, tex2pdf belum dikenal grafik berformat eps. Format gambar yang dikenal oleh program pdftex misalnya pdf, png, dan jpeg. Selain format ini harus dikonversi ke salah satu format di atas. Dalam lingkungan Linux tidak terlalu sulit. Tersedia banyak program untuk mengkonversi ke salah satu file ini, misalnya convert (ImageMagick), epstopdf, pnmtopng, dll.

2  Menyisipkan gambar untuk konverter dvips/ps2pdf

Untuk menyisipkan file gambar raster yang tidak terformat eps ke dalam file LaTeX dapat dilakukan dengan menambahkan file definisi BoundingBox (*.ext.bb). Cara ini jauh lebih baik dibandingkan dengan menggunakan file yang dihasilkan dengan konversi file terformat raster secara langsung ke dalam format eps, karena format eps (Level 1 atau 2) akan menghasilkan file yang berukuran 2-3 kali file tiff (atau 6 kali file gif). Cara yang lain bisa juga dilakukan, misalnya dengan mengkompres file eps ke dengan program gzip.

Langkah-langkah untuk membuat file BoundingBox adalah sebagai berikut:

  1. Buatlah file eps dengan perintah tiff2ps -e file.tif > file.eps (Encapsulated PostScript Level 1) atau jika menggunakan program convert dapat dilakukan dengan perintah convert file.tif eps:file.eps. Tip: jangan lupa melakukan konversi ke eps jika akan menggunakan pre-processor lain, karena tiap-tiap program konversi akan menghasilkan BoundingBox yang berbeda walaupun gambarnya sama.
  2. Salin baris yang berisisi %%BoundingBox: 0 0 1154 787 dan simpan dalam file dengan nama: file.tif.bb. Begitu juga untuk file yang bukan tif, misalnya file.gif.bb, file.eps.bb
  3. Hapus semua file eps yang dibuat dengan perintah tiff2ps.

2.1  Preprocessor khusus (tiff2ps, jpeg2ps, pnmtops)

Dengan pre-processor tiff2ps

Perintah LaTeX dalam floating figure (LyX) sebagai berikut:


Gambar 1: Perintah untuk menyisipkan gambar pada LyX

Sedangkan perintah dalam file LaTeX-nya adalah sebagai berikut: (jangan lupa tambahkan perintah usepackage{graphicx} pada preamble LaTeX)
\DeclareGraphicsRule{.tif}{eps}{.tif.bb}{`tiff2ps -a1 #1 }
\begin{figure}
\centering
\includegraphics[width=7cm]{contoh.tif}
\caption{Gambar terformat tif dengan pre-processor tiff2ps}
\end{figure}

Dengan cara piping

Yang dimaksud dengan piping di sini adalah menggunakan beberapa program pre-processor untuk mengkonversi ke dalam eps, misalnya dari png dapat dilakukan dengan perintah pngtopnm #1 | pnmtops -

\DeclareGraphicsRule{.png}{eps}{.png.bb}{`pngtopnm #1 | pnmtops - }
\centering
\rotatebox{-90}{includegraphics[width=4.5cm]{contoh.png}

Penggunaan perintah rotatebox{-90} karena hasil konversi gambar dengan perintah pnmtops menghasilkan gambar terotasi 90 dari gambar asli.

File jpeg dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{`jpegtopnm #1 | pnmtops -}
\centering
\rotatebox{-90}{includegraphics[width=4.5cm]{contoh.jpg}}

Dengan menggunakan pre-processor jpeg2ps

Program ini dapat didownload pada URL: http://www.pdflib.com/jpeg2ps/

File jpeg dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{`jpeg2ps #1 }
\centering
\includegraphics[width=7cm]{contoh.jpg}

2.2  Dengan pre-processor convert (ImageMagick)

Menyisipkan file raster terformat apa saja dapat dilakukan dengan pre-processor convert. Khusus untuk file gif, selain pre-processor ini ada beberapa program konverter, misalnya gif2ps, gif2epsn. Program gif2ps dan gif2epsn tidak terlalu bagus dipakai, karena tidak mempunya fasilitas warna. Jadi file gif yang dikonversi ke eps dengan program ini akan dirubah menjadi hitam putih.

File gif dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:- }
\centering
\includegraphics[width=7cm]{contoh.gif}

Sedangkan kalau terformat bmp dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.bmp}{eps}{.bmp.bb}{`convert #1 eps:- }
\centering
\includegraphics[width=7cm]{contoh.bmp}

Perintah untuk menyisipkan gambar terformat tif pre-processor convert berikut ini:

\DeclareGraphicsRule{.tif}{eps}{.tif.bb}{`convert #1 eps:- }
\centering
\includegraphics[width=7cm]{contoh.tif}
File png dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.png}{eps}{.png.bb}{`convert #1 eps:- }
\centering
\includegraphics[width=7cm]{contoh.png}
File jpeg dapat dilakukan dengan perintah berikut:

\DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{`convert #1 eps:- }
\centering
\includegraphics[width=7cm]{contoh.jpg}

2.3  Gambar eps terkompress gzip

Perintah LaTeX/LyX-nya adalah sbb:

\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1 }
\centering
\includegraphics[width=7cm]{contoh.eps.gz}


3  Menyisipkan gambar untuk konverter pdftex/pdflatex/tex2pdf

Ketiga konverter pdf ini sampai saat tulisan ini dibuat hanya bisa mengkonversi gambar terformat pdf, jpeg, dan png. Sedangkan gambar dengan format lain harus dikonversi ke salah satu dari jenis format ini. Tip: gambar vektor yang dibuat dengan program grafik vektor (gnuplot, xfig, tgif, gmt, plotmtv, dll) yang biasanya dapat menghasilkan format postscript sebaiknya dikonversi ke format pdf dengan program epstopdf. Jangan gunakan program ini untuk mengkonversi gambar raster. Gambar raster sebaiknya dalam format jpeg atau png.

Perintah LaTeX untuk menyisipkan gambar ini adalah sebagai berikut:

\centering
\includegraphics[width=7cm]{contoh}     % tanpa ekstensi



File translated from TEX by TTH, version 3.02 by I Wayan Warmada. On 3 Oct 2001, 08:48.