Ozan Keysan bio photo

Ozan Keysan

ODTÜ

WWW

Google+

Twitter

LinkedIn

Github

Latexmk ile LaTeX'i kolayca derleyin

İlk olarak Latex kullanmaya başladığım zamanlarda referansları bir türlü düzgün çalıştıramamıştım. Daha sonra dokümanı oluştururken,

latex -> bibtex ->latex -> latex

sırasıyla çalıştırmak gerektiğini öğrenince hallolmuştu ama pek de tatmin olmamıştım açıkcası, bu iş niye bu kadar karışık olmak zorunda diye.  Benim gibi düşünen birileri varmış ki  latexmk‘yı geliştirmiş. Latexmk bu uzun işlemi basitleştiren ve faydalı birkaç özelliğe sahip bir LaTeX derleyicisi. İşin ilginci Latexmk Miktex ile standart olarak geliyormuş. Yani Windows’a Latex’i daha önceki ‘Latex nasıl kurulur?’ yazısına göre kurduysanız, Latexmk’yı kullanmaya doğrudan başlayabilirsiniz. Ya da sitesinden kurabilirsiniz (Ubuntu kullanıcıları: sudo apt-get install latexmkile yükleyebilirler). Peki ne faydası olacak bu latexmk’nın

  • Latexmk hangi programı kaç kere çalıştıracağına otomatik karar veriyor. Mesela referanslar değişmediyse, sadece bir kere latex çalıştırıyor. Böylelikle çoğu derleme çok daha kısa sürede tamamlanıyor.  Her seferinde 10 saniye kazanç olsa yap içler dışlar bir tez yazımında ne kadar zaman eder?
  • .aux, .log, gibi ekstra oluşturulan dosyaları otomatik temizleyin. Gerçi bu işi yapan programcıklarda mevcut ama dahili bir özellik olması güzel.
  • Gelelim en güzel özelliğine, İsterseniz dosyayı her kaydettiğinizde latex dosyanızı otomatik olarak derleyebilir. Dosyanızın son halinin sürekli gözünüzün önünde olmasını seviyorsanız alın size gerçek zamanlı latex uygulaması. Özellikle şekillerde denklemlerde uğraşırken oldukça faydalı. Eğer latex editörünüzü değiştirmeyi düşünürseniz gerçek zamanlı latex’e bir alternatif de gummiolabilir.

Her latex editörünün kendi derleme ayarları sayfası var, ama mesela TexmakerX için latexmk’yu şu şekilde kullanabilirsiniz.

Tabi istediğiniz gibi özelleştirmeler yapmanız mümkün. Latexmk’nın kullanma klavuzuoldukça detaylı ve programın da baya bir seçeneği var. İşinize yarayabilecek birkaç örnek:

latexmk -pv makalem      Önce derle sonra görüntüle.

latexmk -pdf makalem     Latex yerine Pdflatex kullanarak derle.

latexmk -pvc makalem    Dosya Her kaydedildiğinde otomatik olarak derle ve görüntüyü güncelle.

latexmk -c makalem           Derle ve sonra .aux .log gibi ekstra dosyaları sil.

tabi bu dediklerimi birleştirebilirsiniz, mesela pdf’ye çevir gereksiz dosyaları sil ve görüntüle için latexmk -pdf -pvc makale  komutunu kullanabilirsiniz.

Windows’da otomatik yenilenme işi (-pvc) .div ve .ps uzantılı dosyalarla daha sorunsuz oluyormuş. Eğer illa pdflatex kullanmak istiyorsanız latexmk -pdf -pvc  -view=dvi seçeneğini tavsiye ederim, pdflatexle derlenip sonra div‘e çevirilir. İlla pdf olarak yenilensin diyorsanız pdf okuyucusunun dosya yenilendiğinde görüntüyü yenilemesi gerekiyor. Acrobat reader uyumlu değilmiş anladığım kadarıyla, ghostview kullanmak daha sorunsuz sanki. Sumatra pdf‘de kullanabilirsiniz.

Ama bunu bir konfigürasyon dosyasında belirtmeniz gerekir. Mesela Sumatrayı belirtmek için aşağıdaki satırı ekleyebilirsiniz.

$pdf_previewer = 'start "c:/Program Files/SumatraPDF/SumatraPDF.exe" %O %S';

Mac için skim, linux’da evince filan destekliyor. Ubuntu’da evince’le açmak için home klasörüne .latexmkrc adında bir dosya oluşturun ve aşağıdaki satırları ekleyin.

$pdf_previewer = "start evince";

$pdf_update_method = 0;

Başka uygulamalar için aşağıdaki linklere göz atabilirsiniz. İlk başta ayarlaması zor gözükse de uzun vadede baya işinize yarayacaktır. Takıldığınız yerlerde yorumlara yazabilirsiniz.  Yardımcı olmaya çalışırım. Latexmk ile benzer özellikte bir program da rubber. Her ne kadar google’a rubber latex yazarak pek faydalı sayfalara ulaşmak mümkün olmasa da, bu program da incelemeye değer ama artık pek güncellenmiyor herhalde.

Faydalı linkler:



comments powered by Disqus