Tikz Çiziminden SVG Oluşturmak

Kayıt Tarihi:

Son Güncelleme:

Özet:

Bir LaTeX belgesinde bulunan bir nesneyi, bir Tikz çizimini, tablo veya benzeri her hangi bir nesneyi, belge dışına bir resim formatında çıkarmak istediğinizi varsayın. Bu işlemi yapmanın en iyi yolu ekran görüntüsü almak değil, bu yazıda bu işlemi nasıl yapmanız gerektiğini açıklayacağım. Örnek olarak Tikz resimlerini SVG formatında vektör grafikleri olarak dışarı çıkaracağız.

Anahtar Kelimeler: diyagram · grafik · grafik çizimi · LaTeX · LaTeX belgesi · şekiller · standalone · svg · tikz · vektör grafik · xy-pic

Bir LaTeX belgesinin bir kısmını resim dosyası olarak dışarı çıkartıp başka uygulamalarda kullanmak isteyebilirsiniz, bunun için ekran görüntüsü kesiyorsanız bu yazı sizin için. Bu kısa yazıda LaTeX belgesinden resim formatında dosya üretmenin daha kullanışlı bir yöntemini öğreneceksiniz, özellikle TikZ ve XY-pic gibi paketlerle yaptığınız çizimleri LaTeX dışına aktarmak bu yolla çok kolay ama bunlarla sınırlı değilsiniz bir tabloyu, paragrafı veya bütün bir sayfayı bile dışarı aktarabilirsiniz. Ben bu yazıda ilgili metin kısmını en sık kullandığım SVG formatında dışarı çıkaracağım, diğer formatlar için de aynı mantıkla hareket edebilirsiniz.

Bu işlemin kilit noktası standalone doküman sınıfını kullanmaktır; bu sınıfın dokümantasyonunu detaylı olarak incelersiniz, tam olarak bu işi yapmak için bir belge sınıfı bu. Bu belge sınıfı ile bir Tikz resmi, bir tablo veya benzer bir şey oluşturursanız bu nesne ayrı bir sayfada yazdırılır ve sayfa boyutu tam olarak bu nesnenin boyutu kadar olur. Yani tam istediğimiz gibi bir dosya fakat uzantısı pdf. Örnek olarak aşağıdaki belgeyi oluşturup gözlemleyin.


\documentclass{standalone}
\usepackage[turkish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage{array}
\usepackage[table]{xcolor}

\begin{document}
\sffamily
\begin{tabular} {>{\cellcolor{pink}}l|*{6}{c}>{\cellcolor[gray]{0.9}\bfseries}cc}
	Takım & O & G & B & M & A & Y & Puan & Av \\
	\hline
	İzlanda & 3 & 3 & 0 & 0 & 8 & 0 & 9 & +8 \\
	Çek Cumhuriyeti & 3 & 3 & 0 & 0 & 8 & 4 & 9 & +4 \\
	Hollanda  & 3 & 1 & 0 & 2 & 4 & 5 & 3 & -1 \\
	Letonya  & 3 & 0 & 2 & 1 & 1 & 4 & 2 & -3 \\
	Kazakistan  & 3 & 0 & 1 & 2 & 3 & 7 & 1 & -4 \\
	Türkiye  & 3 & 0 & 1 & 2 & 2 & 6 & 1 & -4 \\
\end{tabular}
\end{document}

Şimdi tek yapılması gereken bu dosyanın uzantısını SVG yapmak, bunun için çok sayıda farklı yöntem var. En basit yöntem bu işi yapan yazılımları kullanmak, dvisvgm veya pdf2svg gibi. dvisvgm yazılımı yaygın LaTeX dağıtımları içinde geliyor zaten, pdf2svg yazılımını da web sayfasından indirebilirsiniz (Mac kullanıcıları için bunu yüklemenin muhtemelen en kolay yolu: brew). Ben pdf2svg yazılımını kullanacağım, bunu kurduktan sonra pdf dosyamdan SVG üretmek için tek yapmam gereken terminalde pdf2svg dosya.pdf dosya.svg komutunu girmek. Bu işlemle dosya.pdf içeriği aynı klasöre dosya.svg olarak kopyalanır ve bu gerçek bir SVG dosyasıdır, yani herhangi bir SVG editörü ile vektör tabanlı olarak bu dosyayı açıp düzenleyebilirsiniz. Örneğin ben yukarıdaki LaTeX belgesinin içeriğini aşağıdaki şekilde SVG belgesine dönüştürdüm.

En çok Tikz gibi paketlerle yaptığımız çizimleri dışarı çıkarmak isteriz, bunun için de örnek olarak aşağıdaki dosyayı verebilirim.


\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[scale=0.75]
\draw [fill=yellow, yellow!30] (0,0) rectangle (1.75,1.5);
\draw [fill=yellow, yellow!30] (0,0) rectangle (-1.75,-1.5);
\draw [fill=green, green!40] (1.75,0) rectangle (5,1.5);
\draw [fill=green, green!40] (-1.75,0) rectangle (-5,-1.5);
\draw [thick, <->] (-5,0) -- (5,0); 
\draw [thick, <->] (0,-5) -- (0,5);
\draw [cyan, ultra thick] (0.2,5) to [out=-90,in=180] (5,0.2);
\draw [cyan, ultra thick] (-5,-0.2) to [out=0,in=90] (-0.2,-5);
\draw [magenta, thick] (0,1.5) -- (5,1.5);
\draw [magenta, thick] (0,-1.5) -- (-5,-1.5);
\draw [magenta, dashed, thick] (1.75,0) -- (1.75,1.5);
\draw [magenta, dashed, thick] (-1.75,0) -- (-1.75,-1.5);
\node [left] at (0,1.5) {$\varepsilon$};
\node [right] at (0,-1.5) {$-\varepsilon$};
\node [above] at (-1.75,0) {$N=-\frac{1}{\varepsilon}$};
\node [below] at (1.75,0) {$M=\frac{1}{\varepsilon}$};
\node [above right] at (3,1.5) {$y=\varepsilon$};
\node [below left] at (-3,-1.5) {$y=-\varepsilon$};
\draw [->,thick] (3,2.5) -- (3,1.5);
\draw [->,thick] (3,-1) -- (3,0);
\draw [->,thick] (-3,-2.5) -- (-3,-1.5);
\draw [->,thick] (-3,1) -- (-3,0);
\end{tikzpicture}
\end{document}
Önceki Blog Yazısı:
Harmonik Analiz Makinesi
Sonraki Blog Yazısı:
Matris İzi ve İntegrasyon