ismailari.com

İsmail Arı'nın anasayfası

‘latex’ etiketi için arşiv.

LaTeX'te özetçe, bölüm, içindekiler, vb. isimlendirmelerini değiştirmek

1 yorum yapıldı

LaTeX'te Türkçe bir belge hazırlıyorsunuz. Her şeferinde Türkçe'deki ş,ğ,ı gibi karakterlerin karşılıklarını uzun uzun yazmaya üşendiniz. Bunun için dosyanın karakter kodlamasını utf8 yaptınız ve inputenc paketini şu şekilde yüklediniz:

\usepackage[utf8x]{inputenc}

Her şey güzel derken bir baktınız ki bazı kısımlar hâlâ İngilizce. Örneğin \begin{abstract} ile özetçe eklediniz veya \tableofcontents ile içindekiler bölümü eklediniz ve baktınız ki Özetçe yerine Abstract yazıyor, İçindekiler yerine Contents yazıyor. Yani, isimlendirmeler Türkçe değil. Bu yazıda bu isimlendirmeleri değiştirmeyi ele alalım. Aslında bu yöntemi Türkçe karşılığı yerine başka bir İngilizce kelime kullanmak için de kullanabilirsiniz.

LaTeX'te bu biçimdeki isimlendirmeler genelde şöyle yazılıyor:

\renewcommand*\XXXname{XXX için yeni isim}

Burada XXX diye yazdığım kısım özetçe, bölüm, bakınız, kaynakça gibi birçok anahtar sözcüğe tekabül edebilir. Kullandığınız belge sınıfına göre, bazıları tanımlı olurken bir kısmı tanımlı olmayacaktır. Örneğin \documentclass{article} ile belge sınıfını makale olarak belirlediyseniz, makalelerde chapter komutu kullanılmadığı için \renewcommand*\chaptername{Bölüm} satırı hata verecektir.

Altta ihtiyaç duyulabilecek çoğu isimlendirmeyi ekledim. Yanlarında da nerelerde kullanılabileceği ile ilgili yorum mevcut. Belgenin sınıfına göre gerekli olanlar kullanılabilir. İsimlendirmelerin Türkçelerini ben yazdım, yanlışlıklar olabilir, çevirisinin farklı olacağını düşünüyorsanız lütfen ona göre değiştirin.

\renewcommand*\abstractname{Özetçe}
\renewcommand*\alsoname{ayrıca bkz.} % makeidx ile
\renewcommand*\appendixname{Ek}
\renewcommand*\bibname{Kaynakça} % 'report' ile
\renewcommand*\chaptername{Bölüm} % 'report' ve 'book' için
\renewcommand*\contentsname{İçindekiler}
\renewcommand*\figurename{Şekil}
\renewcommand*\indexname{Dizin} % makeidx ile
\renewcommand*\listfigurename{Şekil Listesi}
\renewcommand*\listtablename{Tablo Listesi}
\renewcommand*\pagename{Sayfa} % 'letter' ile
\renewcommand*\partname{Kesim}
\renewcommand*\refname{Kaynakça} % 'article' ile
\renewcommand*\seename{bkz.} % 'makeidx' ile
\renewcommand*\tablename{Tablo}

Bunlar dışında kullandığınız pakete göre bazı isimlendirmeler olabilir. Bunun için ilgili paketin dokümantasyonuna başvurmak iyi olacaktır.

8 Temmuz 2011, Kategori: Programlama, Etiketler: ,

MathJax ile Html içine LaTeX formülleri ekleme

Yorum yapılmadı

Html içine formül gömme ile ilgili taze bir yazı yayınlamıştım. Şimdi de meyvelerine bakalım.

Lorenz Denklemleri

\begin{align}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{align}

Cauchy-Schwarz Eşitsizliği

\[
\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} \leq
\left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
\]

Çapraz Çarpım Formülü

\[
\mathbf{V}_1 \times \mathbf{V}_2 =
\begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
\end{vmatrix}
\]

\(n\)  yazı-turadan \(k\) tanesinin yazı gelme olasılığı:

\[P(E) = {n \choose k} p^k (1-p)^{ n-k} \]

Bir Ramanujan Özelliği

\[
\frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } }
\]

Bir Rogers-Ramanujan Özelliği

\[
1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
\prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
\quad\quad \text{$|q|<1$ için}.
\]

Maxwell Denklemleri

\begin{align}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{align}

Ayrı formüllerin gösteriminin yanısıra paragraf içine yazılanların gösterimi de çok önemli. Bu ifade \(\sqrt{3x-1}+(1+x)^2\) paragrafiçi bir örnek. Formüllerin LaTeX halini görmek ya da formülleri daha büyütmek isterseniz formülün üstüne gelip sağ tıklayın, açılan menü size yardımcı olacaktır. Görüldüğü üzere, MathJax bu konuda gerçekten başarılı!

18 Eylül 2010, Kategori: Programlama, Etiketler: , ,

Web arabiriminde formül ve kod kullanarak dokümantasyon oluşturma

Yorum yapılmadı

Yeni bir konuya giriyorum; genelinde tensör matematiği ve özelinde bunun videodan bilgi çıkarmak için kullanımı. Sıfırdan başlayacağım desem pek yalan olmaz. Aldım, başladım ağırından okumaya. Multilineer cebir bir nevi. Onu anlamak için iyi bir nümerik ve lineer cebir bilgisi gerekiyor. Onları anlamak için başka şeyler derken gövde dallara, dallar yapraklara... Çoğu yaprağı biliyorum zaten. Dalları da çıkmak kolay ama hafızada tutmak zor. Çalışırken anlaşılıyor, sonra ne nerdeydi, bu nasıldı falan derken zaman ölüyor. Malum beyin bedava ama zaman öyle değil! Velhasıl-ı kelâm bunları nasıl etsem de bir havuzda toplasam diye kafa yormaktayım. İstediğim dokümantasyon şuna benzer olsun,

  1. Kaynak kod ile doğrudan çalışayım. Yani editör kullanma imkanım olsun, mysql'de falan tutulmasın. Ben kaynak kodları svn deposunda tutar, ona bir de Trac koyar kendi kendimi yönetirim.
  2. İçine LaTeX yazılabilsin ki formülleri güzelce gösterebilsin.
  3. LaTeX kodları için \newcommand kullanabileyim.
  4. İçine örnek kod eklersem (c, matlab veya python) onları allayıp pullayıp gösterebilsin.
  5. Arama özelliği olsun.
  6. İndeks olsun.
  7. Sayfalara yorum girilebilsin.
  8. Değişiklikleri yapınca tek tık ile tüm projeyi güncelleyebileyim.

Maksadım her ihtiyacım olduğunda kullanabileceğim bir elkitabını peyderpey oluşturmak. Bunu webden hocam ile de paylaşmak. Sonra lazım olduğunda buradaki bilgileri kopyalayıp yapıştırarak daha derli doplu yayınlar üretmek. Sizin de ilginizi çekerse buyrun bir tarama...

Yazının tamamını okuyun »

Akademik poster hazırlama

4 yorum yapıldı

Diyarbakır'da sunmak üzere poster hazırlamam gerekiyor ve bu benim ilk poster hazırlayışım. Biraz araştırdım, etrafımdakilere danıştım ve akademik poster hazırlamak için birkaç araç kullanıldığını gördüm. İlginç ama çevremdekiler genellikle Powerpoint kullanıyor. MS Office araçlarının sadece adlarına değil de ne olduklarına bakanlar Publish'i kurcalayıp, onun bu iş için daha doğru araç olduğunda karar kılıyor. Benden daha çok LaTeX sevenler, poster paketlerini kullanarak tüm işlerini LaTeX ile yapıyor. Basım merkezleri ise Photoshop, QuarkXpress veya daha farklı ticarî ürünler kullanabiliyor ama onlar da adı üstünde ticarî ve lisansları okulda yok.

Powerpoint ile hazırlamak istemedim, GNU/Linux destekli bir araç olsun istedim. Zaten Powerpoint profesyonel sunum aracı, bu iş için kullanılabilir belki ama bu işin asıl muhatabı değil. Publish'i de MS ürünü olduğu için sıkışırsam dönmek üzere esgeçtim. LaTeX sevgim çok ama sadece matematiksel formülleri yazarken ve sayfa içi referanslarda. Onun ötesinde her şeyi LaTeX'te yapmak bana göre değil. Her problemi çiviye çevirip çekiçle dalmak gibi bir şey. LaTeX ile her şey yapılabilir, tamam ama biraz da kullanıcı dostu olsun. Kullanımı kolay olsun. İşte tam bu noktada Scribus'u keşfettim. Scribus, açık kaynak ve profesyonel bir broşür, kitap, poster, vb. tasarım programı. Hem Windows hem GNU/Linux'ta çalışıyor. Powerpoint gibi kutucuk çiz, yazı ekle, stilleri ayarla, sürükle bırak, resim koy, vb. güzel bir kullanıcı dostu arayüze sahip. Son sürümlerinde içine LaTeX, GNU Plot, Lilypond kutuları derlenip gömülebiliyor. Benim LaTeX'e ihtiyacım vardı, bonus olarak konfigürasyon değişikliklerini de kendi isteğime göre yaptım ve kutuları ekledim.

PDF çıktısı alırken, basımda kullanılan CMYK ayarları yapılabiliyor. Zira bu ayarlar olmazsa bastırdığınız posterin renkleri başka telden çalabilir ve şaşırıp kalabilirsiniz. Bugün itibariyle bastırdığım (ve tasarladığımla birebir aynısını gözlemlediğim ilk posterim) şöyle:

Akademik poster veya herhangi bir broşür hazırlamak durumunda kalırsanız bir göz atın derim. İlgilenirseniz olası soruları yanıtlayayım...

LaTeX eklemek ne işime yarar? Powerpoint'te de formül yazabiliyorum.

Evet yazabiliyorsunuz ama henüz LaTeX'deki esneklik yok. Her işin erbabı var. Ayrıca tezi veya makaleyi LaTeX ile yazdıysanız o formülleri Powerpoint ile tekrar yazmak hiç hoş olmuyor. Her şey daha tembel bir dünya için: Kopyala, yapıştır!..

PDF'i yakınlaştırsam da resimler neden bozulmuyor?

Çünkü o resimler EPS veya SVG olarak kaydedildi. Siz yaklaştıkça tekrar çizilip gösteriliyorlar.  Yüz resimlerini ve yüz üstünde bulunan noktaların gösterildiği resimleri matplotlib ile EPS formatında kaydettim. Yüz resimleri %100'den daha fazla yaklaşınca bozulabilir ama diğerleri bozulmaz. Çünkü bahsettiğim gibi onlar ölçeklenebilir, yüz resimleri ise bitmap. Merak ederseniz herhangi bir EPS dosyasını bir metin editörü ile açıp bakın.

Tablolar PDF'ten gömme gibi?!

Evet, ne yazık ki tabloları tekrar oluşturmaya zamanım olmadı ve PDF'ten gömdüm. Font farkı biraz can sıkıcı ama onlar da ölçeklenebilir. Bu arada gömülen nesnede başka şeyler varsa sorun değil, nesne kaydırılıp ölçeklenerek görünen kısma getirilebiliyor. Hatta belgenize, 100 sayfalık başka bir dokümanın 99. sayfasındaki bir tabloyu gömmeniz mümkün.

Disk figürünü nasıl oluşturdun?

Bu ve benzeri SVG figürler için Inkscape kullanabilirsiniz. Hem kullanımı kolay, hem de şirin şeyler üretilebiliyor. Ayrıca çoşup pstricks ile de üretebilirsiniz. Pstricks'in kodunu doğrudan yazmaya üşenirseniz LaTeXDraw imdada yetişir.

Dokümanlarım başka formatta, nasıl format değiştireyim?

Imagemagick kullanabilirsiniz. Örneğin ben PDF olan posteri üstte görünen resmi elde etmek için PNG'ye şunu kullanarak çevirdim:

convert -scale 10% poster.pdf poster.png

Ben küçük resimler ekleyeceğim, SVG olsalar iyi olacak. Tümünü ben çizmeyeyim. İndirilecek bir depo var mı?

Var elbette. Örneğin ben openclipart'tan iki tane kullandım. Simge ararsanız Tango'ya bakabilirsiniz.

Ben de Ubuntu kullanıyorum ama depodaki Scribus senin dediklerini desteklemiyor?..

Web sayfasından Debian/Ubuntu paketlerine bakıp ekleyin. Sonra da scribus-ng paketini indirin. En son çıkan ve deneme aşamasında olan sürüm bu oluyor.

Sonuca gelirsek... Beni en çok korkutan kısım grafik deneyimimin Ubuntu'ya geçince ellerimden uçacakmış gibi görünmesiydi. Deneyim dediysem, gayet amatör bir deneyim, figür falan oluşturmak için. Photoshop'un muadilini (Gimp'e ısınamadım henüz) bulamasam da farklı alternatifler öğrendim. Inkscape çok hoşuma gitmişti, Scribus cabası oldu. Öğrenirken resmî dokümantasyonuna ve tutorial'e baktım. Zaten güzel arayüzü sayesinde kendiniz de öğrenebiliyorsunuz.

Yazıda tamamen özgür yazılımları kullanarak nasıl poster hazırlayabilceğinizi anlattım. Neler yapılabileceği kişinin hayalgücüne ve zevkine kalmış...

Ekleme: Bu yazının devamı niteliğinde bir yazı daha yazdım. Buradan görebilirsiniz.

21 Nisan 2010, Kategori: Genel, Etiketler: , , , ,

Ortaya karışık

Yorum yapılmadı

Doğru düzgün bir ad bulamadım yazıya, son zamanlarda farkettiğim şeyleri eklediğim için böyle olsun dedim. İhtimaldir, sizin de başınıza gelirse bilin. Ya da benim başıma tekrar gelirse buraya bakayım (malum, bunu en çok yapan kişi benim).

Linux'ta root kullanıcısının çöp kutusu

Verileri güzelce yedeklemek için "Simple Backup Suite"i kurmuştum. Uzunca süredir çalıştırmıyordum, geçende çalıştırayım dedim. Çalıştırmak için root olmanız gerekiyor. Ayarları değiştirmiştim ama nasıl oldu anlayamadan hedef klasörü /var/backup/ olarak atamış ve oraya yedeği almaya başlamış. Bir ara uyardı yer kalmıyor diye, ben anlayana kadar doldu benim disk! Girdim nautilus'a süper kullanıcı olarak, tüm yedeği sildim. Aklımca yer açtım. Problem yok gibi, sonra kapadım yattım. Ertesi gün Ubuntu'yu açmaya çalışıyorum açılmıyor, bir de şöyle bir sorun veriyor: "The configuration defaults for GNOME Power Manager have not been installed". Problemle ilgili internette bulduğum tüm çözüm önerilerini denedim. Ama meğersem yer kalmamış, yani ben dosyayı root'un çöpüne atmışım, ordan da silmeliymişim. O da /root/.local/share/Trash klasörüymüş. İçindeki files klasörünü boşaltınca sorun çözüldü ve sisteme giriş yapabildim. Acemilik işte...

Yazının tamamını okuyun »

19 Kasım 2009, Kategori: Programlama, Etiketler: , ,

LaTeX'te birkaç matematiksel formül tüyosu

Yorum yapılmadı

Bloğun açılışından bu yana 601 gün geçmiş. Bugün, ilk kez tamamına yakını başka bir yazarın katkısıyla oluşan bir yazı var menüde! Pınar'dan bize, LaTeX'te daha güzel formüller elde etmek için birkaç matematik formülü yazma tüyosu :)

Altta açıklamalar var, burda da kullanım örnekleri ve elde edilen görüntüler. Buyrun...

Yazının tamamını okuyun »

26 Mayıs 2009, Kategori: Programlama, Etiketler:

Linux'ta LaTeX stil dosyası (.sty) yükleme

Yorum yapılmadı

LaTeX'in en güzel özelliği tonlarca yazılmış paket/eklenti olması. Windows'ta yeni paketleri kullanmak için Miktex Package Manager kullanılabildiğinden arayüz ile bu iş halledilebiliyor. Ama Linux'ta da pek bir kolaymış. Ubuntu'da LaTeX paketlerinin konumu hangi dağıtımı kullandığınıza bağlı olarak değişiyor. TeTeX kullanıyorsanız:

/usr/share/texmf-tetex/tex/latex

TeX Live kullanıyorsanız:

/usr/share/texmf-texlive/tex/latex

oluyor. Yüklemek istediğiniz stil dosyasını ctan'dan bulup yukarıda bahsi geçen klasöre yükleyin. Sonra da root olarak mktexlsr komutunu çağırın. Örneğin ben TeX Live kullanıyorum ve multirow'u kullanabilmek için şöyle yaptım:

  1. Bu adresten zip dosyasını indirip içeriğini /usr/share/texmf-texlive/tex/latex/multirow klasörüne açtım.
  2. sudo mktexlsr komutunu çalıştırdım.
Şuradan derlenmiştir.

1 Mart 2009, Kategori: Programlama, Etiketler:

LaTeX’te kodları renklendirmek

Yorum yapılmadı

Açıklama: Latex’te kodları renklendirebilmek için listings paketi kullanılıyor. Örnek bir MATLAB kodunun renklendirilmesi yapılıyor. Başka birçok dil de destekleniyor.
Kaynaklar:

Kaynak kod

\documentclass{article}
\usepackage[margin=0.75in]{geometry}
\usepackage{courier}
\usepackage{color}
\usepackage{listings}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{bg}{rgb}{0.8,0.8,1}

\begin{document}

\lstset{language=Matlab,
   keywords={break,case,catch,continue,else,elseif,end,for,function,
      global,if,otherwise,persistent,return,switch,try,while},
   basicstyle=\footnotesize,
   keywordstyle=\color{blue},
   commentstyle=\color{red},
   stringstyle=\color{dkgreen},
   numbers=left,
   numberstyle=\footnotesize,
   stepnumber=1,
   frame=shadowbox, rulesepcolor=\color{bg},
   caption=Ornek Renkli Matlab Kodu,
   label=ornekkod1,
   numbersep=10pt,
   backgroundcolor=\color{white},
   tabsize=4,
   showspaces=false,
   showstringspaces=false}

\begin{lstlisting}
function y = demo(x) % Bu bir yorumdur.
   str = 'merhaba oradakiler';
   y = x + 1;
end
\end{lstlisting}

\end{document}

28 Aralık 2008, Kategori: Programlama, Etiketler:

Boğaziçi FBE örnek tez LaTeX kaynağı

3 yorum yapıldı

Teze başlarken bir hayli zaman harcıyor insan. Örnekler içeren bir şablon ile başlamak içeriğe bir an önce geçebilmek için önemli. Kendi tezimin kaynağını biraz kırpıp içinde örnek figür, tablo, algoritma ve atıflar içeren bir şablon oluşturdum. Buyurun:

Kaynak: sample_fbe_ms_thesis.zip
Çıktısı (PDF): sample_fbe_ms_thesis.pdf

FBE tarafından kabul edileceği garanti edilemez, kendiniz buradan denetlemelisiniz. Kaynakça stil dosyası için B. Gürdağ'ın emeğine sağlık.

thesis
Güncelleme (21 Nisan): Üstteki kod, Bakoma LaTeX editörü ile Windows'ta çalıştığımdan bir sorun çıkarmıyordu fakat bazı etiketler açılmasına rağmen kapanmamış ve hatatlıymış. Bu hataları kaldırdım ve yeni sürümünü yükledim. Ubuntu kullandığım için onda test ettim. Windows veya Mac'ta da çalışmasını bekliyorum.

Güncelleme (Ağustos 2011): FBE Tez formatının güncellendiğine dair bir duyum aldım. O sebeple lütfen bu hali doğrudan kullanmak yerine FBE'nin sayfasındaki formatı kullanınız. Buradaki formül, algoritma, figür kullanımlarından yararlanabilirsiniz ama tüm şablonu kullanırsanız FBE'den onaylanmama ihtimali var, aklınızda bulunsun.

Kaynak: sample_fbe_ms_thesis_v2.zip

17 Ağustos 2008, Kategori: Programlama, Etiketler: