Monday, June 29, 2015

Menyusun Foto pada Satu Halaman #2

Sekarang, bagian kedua, kita akan menyusun foto seperti tampak pada gambar di samping.
Selingkung (template) yang dibuat oleh Paul Gaborit di forum ini sebenarnya adalah jawaban atas pertanyaan dari anggota forum tentang efek foto polaroid di dalam tikz. Susunan ini merupakan 'kreasi' tingkat lanjut dari bentuk foto tunggal seperti tampak pada foto Aishwarya Rai.

Kembali saya susun foto "si bungsu". Karena selingkung ini menggunakan kelas dokumen standalone dengan opsi paket tikz, maka penambahan paket warna xcolor saya cantumkan pada baris pertama dalam pengkodeannya.
\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}
\documentclass[tikz]{standalone}
... %preamble
\begin{document} %body
\begin{tikzpicture}
... %gambar
\end{tikzpicture}
\end{document}
Selingkung ini lebih cocok digunakan untuk foto yang berbentuk tegak (potrait)Seperti Anda lihat pada gambar di atas, selingkung ini memuat 7 buah foto yang sama. Perintah kunci (\foreach) untuk ini adalah
\foreach \i in {0,...,6}{
\polaroid[rotate={90-\i*30},at={{90-\i*30+90}:5cm},caption=\calligra Lena\\{\itshape Crying}]{example-image-a}
  }
Pada opsi caption, Anda cukup mengganti teks Lena Crying dan example-image-a Anda ganti dengan nama file foto yang Anda muat. 
Bila beberapa (atau semua) dari ketujuh foto itu berbeda, maka perintah \foreach Anda hapus kemudian Anda gunakan 7 perintah \polaroid berikut ini.
\polaroid[rotate=90,at={180:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=60,at={150:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=30,at={120:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=0,at={90:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=-30,at={60:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=-60,at={30:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
\polaroid[rotate=-90,at={0:5cm},caption=\calligra Lena\\{\itshape Crying}]{...}
Nah, di bawah ini pengkodean selengkapnya beserta dokumen yang dihasilkannya. Dokumen tersebut saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX. Penjelasan selengkapnya tentang selingkung ini dapat Anda pelajari di sini.
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015

\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}
\documentclass[tikz]{standalone}%
\usetikzlibrary{fit,calc,shadows,backgrounds,positioning}
\tikzset{
  polaroid/.cd,
  at/.store in=\polaroidat,
  at={0,0},
  graphics options/.store in=\polaroidgraphicsoptions,
  graphics options=,
  rotate/.store in=\polaroidrotate,
  rotate=0,
  caption/.store in=\polaroidcaption,
  caption=,
  caption distance/.store in=\polaroidcaptiondistance,
  caption distance=1mm,
  top margin/.store in=\polaroidtopmargin,
  bottom margin/.store in=\polaroidbottommargin,
  left margin/.store in=\polaroidleftmargin,
  right margin/.store in=\polaroidrightmargin,
  vmargin/.style={top margin=#1,bottom margin=#1},
  hmargin/.style={left margin=#1,right margin=#1},
  margin/.style={vmargin=#1,hmargin=#1},
  margin=1cm,
  caption default/.style={font=\bfseries,node distance=1mm},
  caption options/.style={caption default/.append style={#1}},
  frame default/.style={draw,inner sep=0},
  frame options/.style={frame default/.append style={#1}},
}
\newcommand\polaroidset[1]{\tikzset{polaroid/.cd,#1}}
\newcommand\polaroid[2][]{
  \bgroup
  \tikzset{polaroid/.cd,#1}
  \pgfmathsetmacro\polaroidrotate{\polaroidrotate}
  \begin{scope}[shift={(\polaroidat)},rotate=\polaroidrotate]
    \node[rotate=\polaroidrotate,inner sep=0]
    (shoot) {\expandafter\includegraphics\expandafter[\polaroidgraphicsoptions]{#2}};
    \path (shoot.north) ++(0,\polaroidtopmargin) coordinate (polaroid top);
    \path (shoot.south) ++(0,{-1*(\polaroidbottommargin)}) coordinate (polaroid bottom);
    \path (shoot.west) ++({-1*(\polaroidleftmargin)},0) coordinate (polaroid left);
    \path (shoot.east) ++(\polaroidrightmargin,0) coordinate (polaroid right);
    \node[rotate fit=\polaroidrotate,fit=(polaroid top)(polaroid bottom)(polaroid left)(polaroid right),polaroid/frame default]{};
    \node[rotate=\polaroidrotate,inner sep=0]
    (shoot) {\expandafter\includegraphics\expandafter[\polaroidgraphicsoptions]{#2}};
    \coordinate (caption center) at ($(shoot.south)!-1 * \polaroidcaptiondistance!(shoot.north)$);
    \node[anchor=north,rotate=\polaroidrotate,polaroid/caption default]
    (caption) at (caption center) {\polaroidcaption};
  \end{scope}
  \egroup
}
\pagecolor{IndianRed}
\usepackage{calligra,ebgaramond}
\begin{document}%

\begin{tikzpicture}
  \polaroidset{
    rotate=20,
    frame options={line width=1pt,draw=RosyBrown,rounded corners=.5mm,fill=Sepia!10,drop shadow},
    graphics options={width=2.5cm},
    caption options={font=\footnotesize,align=center},
    caption distance=.5mm,
    vmargin=5mm,hmargin=5mm,
    bottom margin=7mm+1em,
  }
\foreach \i in {0,...,6}{
\polaroid[rotate={90-\i*30},at={{90-\i*30+90}:5cm},caption=\calligra Lena\\{\itshape Crying}]{example-image-a}
  }
\node[] at (0,0) {\calligra\color{white}{\small\bfseries Lena Lugina Zahrani}};
\node[] at (0,-.5) {\color{white}\small\bfseries 24 April 2015};
\end{tikzpicture}

\end{document}




No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...