> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/tr/daha-fazla-konu/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md).

# Bir LaTeX sınıf dosyası nasıl yazılır ve kendi CV'niz nasıl tasarlanır (Bölüm 1)

Bölüm 1 | [Bölüm 2](/latex/tr/daha-fazla-konu/26-how-to-write-a-latex-class-file-and-design-your-own-cv-part-2.md)

**Yazar: James Allen (Mart 2011)**

Herkes profesyonel görünen bir CV ister ve size bunu sağlayacak LaTeX şablonları hiç de az değildir. Ama benim gibiyseniz, CV'nizin sahibi olmak ve onu kendinize ait kılmak isteyeceksiniz. Bu da görünümü ve hissi kendinizin özelleştirebilmesi gerektiği anlamına gelir; bu da LaTeX'te meşhur derecede zor olabilir. Bu blog yazısı dizisinde, kendi özel sınıf dosyanızı oluşturmanızda size rehberlik etmeyi ve CV'nizi tam istediğiniz gibi biçimlendirmenin kolay olabileceğini göstermeyi umuyorum. Bir CV stiline odaklanacağız, ancak yöntemler her türlü belge için birebir aynı olacaktır.

### Sınıf dosyası nedir?

Şunu yazdığınızda `\documentclass{article}` LaTeX dosyanızda, sınıf dosyasını dahil etmiş olursunuz `article.cls`. Bu, şu gibi tüm komutları tanımlar: `\section` ve `\title` bunlar belgenizin yapısını oluşturur. Ayrıca bu komutların sayfanın biçimini ve düzenini nasıl etkilediğini de yapılandırır.

### Kendi sınıf dosyanızı oluşturma

Bir belgenin biçimini özelleştirmenin en temiz yolu, tüm bu bilgileri kişisel bir sınıf dosyasında tutmaktır. Bu, belgenizin yapısını biçimlendirmeden temiz bir şekilde ayrı tutar ve kolay yeniden kullanım sağlar. Bunu kurmak çok kolaydır; bu yüzden cv.tex adlı bir belge oluşturun ve içine şu içeriği yazın:

```latex
\documentclass{my_cv}
\begin{document}
\section{Education}
\subsection{University of Nowhere}
\section{Work}
\subsection{ABC Limited.}
\end{document}
```

Bu, özel sınıf dosyanızı yüklemeye çalışıyor `my_cv.cls`, henüz mevcut değil. Oluşturun `my_cv.cls` ile aynı dizinde `cv.tex` ve içine şu satırı yazın:

```latex
\LoadClass{article}
```

Belgenizi şimdi derlerseniz, başlıkları varsayılan article stilinde görmelisiniz.

Peki burada ne oldu? Sınıf dosyalarının LaTeX'in düzgün çalışması için çok miktarda biçimlendirme bilgisi ve dahili ayar içermesi gerekir, ancak bunların hepsini elle girmek istemeyiz. Bunun yerine yeni sınıf dosyamızı `article.cls`. Biz de `\LoadClass` eklemeyi `article.cls` ve içinde tanımlı tüm komutları ve stilleri yükleriz. Dikkat edin, alışıldık `\documentclass` komutunu kullanmıyoruz `article.cls` çünkü `\documentclass` LaTeX belgenizin en başında yalnızca bir kez çağrılmalıdır.

### Sınıfınızı LaTeX'e tanıtma

Tüm sınıf dosyaları aşağıdakine benzer iki satırla başlamalıdır; bunları `my_cv.cls` şimdi şunun en üstüne eklemelisiniz:

```latex
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{my_cv}[2011/03/26 My custom CV class]
```

Bu `\NeedsTeXFormat` komutları derleyiciye paketin hangi LaTeX sürümü için olduğunu söyler. LaTeX'in güncel sürümü LaTeX2e'dir ve neredeyse tüm dağıtımlar bunu kullanır.

Bu `\ProvidesClass` komutu derleyiciye paketinize ilişkin bazı bilgiler verir. İlk argüman sınıf dosyanızın dosya adıyla aynı olmalı ve LaTeX'e paketinizin adının ne olduğunu söyler. İkinci argüman isteğe bağlıdır ve sınıfınızın günlük dosyasında ve başka yerlerde görünecek bir açıklamasını sağlar. Açıklama, tam yukarıdaki biçimde bir tarih ile başlamalıdır ve bu, paketin en son değiştirildiği tarih olmalıdır. Bu, sınıfı dahil ederken yeterince güncel bir sürümünüz olup olmadığını kontrol etmek için kullanılabilir. Örneğin, bunu şu şekilde dahil ederseniz `\documentclass{my_cv}[2012/01/01]` sınıf açıklamasındaki tarihten daha yeni bir tarihle, sınıfın güncel olmadığına dair bir uyarı gösterilir.

### Bölüm başlıklarını değiştirme

Standart article bölüm başlıkları bir CV için pek uygun değildir, bu yüzden bunları daha düzenli bir şeyle değiştirmek isteriz. Bunu yapmak için `\section` komutunu özel bir başlık üretecek şekilde yeniden tanımlayabiliriz.

Neyse ki zaten adı verilen mükemmel bir paket var: `titlesec` bu, başlık stillerimizi özelleştirmek için kolay bir yol sunar. Bunu sınıf dosyanıza şu şekilde ekleyin:

```latex
\RequirePackage{titlesec}
```

Şunu kullanmamız gerektiğine dikkat edin: `\RequirePackage` alışıldık `\usepackage` komutu yerine, çünkü bir sınıf dosyasındayız. `\RequirePackage` komutu her paketin yalnızca bir kez yüklenmesini sağlar; farklı stil ve sınıf dosyalarından birden fazla kez çağrılsa bile.

Bu `titlesec` paketi şu komutu sağlar: `\titleformat` bu, bölüm başlıklarımızı özelleştirmemize olanak tanır. Aşağıdakini sonunda ekleyin: `my_cv.cls` başlığın biçimini özelleştirmek için:

```latex
\titleformat{\section}         % \section komutunu özelleştir
  {\Large\scshape\raggedright} % \section başlıklarını büyük (\Large),
                               % küçük büyük harfli (\scshape) ve sola hizalı (\raggedright) yap
  {}{0em}                      % 'Bölüm ...' gibi tüm bölümlere bir önek vermek için kullanılabilir
  {}                           % Başlıktan önce kod eklemek için kullanılabilir
  [\titlerule]                 % Başlıktan sonra yatay bir çizgi ekler
```

Eğer `cv.tex` şimdi derlersek, bir CV için daha uygun bazı ana başlıklarımız olduğunu göreceğiz:

![Screenshot1.png](/files/fe927bf17f6927b1e6b42ef0929ffa5dbc75aef1)

\subsection başlıklarını da özelleştirebiliriz:

```latex
\titleformat{\subsection}
  {\large\scshape\raggedright}
  {}{0em}
  {}
```

Alt bölümler artık aynı stilde:

![Screenshot2.png](/files/e0800da522a7b2ae68024cf2acc774ec65e08046)

Neleri beğendiğinizi görmek için mevcut biçimlendirme seçeneklerinden bazılarını denemelisiniz:

* `\bfseries`, `\itshape`: başlığı kalın veya italik yapın;
* `\scshape`:küçük büyük harfler;
* `\small`, `\normalsize`, `\large`, `\Large`, `\LARGE`, `\huge`, `\Huge`: yazı tipi boyutunu ayarlayın;
* `\rmfamily`, `\sffamily`, `\ttfamily`: yazı tipi türünü sırasıyla serifli, serifsiz veya daktilo tipinde ayarlayın.

### Bölüm başlıklarına tarih ekleme

Bölüm başlıklarımıza tarih eklememizi sağlayan bazı yeni komutlar tanımlayabiliriz. Aşağıdakini sınıf dosyanıza ekleyin:

```latex
\newcommand{\datedsection}[2]{%
  \section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
  \subsection[#1]{#1 \hfill #2}%
}
```

Bu, iki yeni komut tanımlar `\datedsection` ve `\datedsubsection` bunlar iki argüman alır: daha önce olduğu gibi bölüm adı ve sayfanın sağ tarafında dizilecek bir tarih.  `\hfill` komutu LaTeX'e mümkün olduğunca çok alanı doldurmasını söyler ve böylece ikinci argümanı (`#2`) sayfanın sağına iter. Şunu değiştirin: `cv.tex` bu komutları kullanacak şekilde:

```latex
\documentclass{my_cv}

\begin{document}

\section{Education}
\datedsubsection{University of Nowhere}{2004--2008}
2004'ten 2008'e kadar University of Nowhere'da okudum.

\section{Work}
\datedsubsection{ABC Limited.}{2008--Now}
2008'den beri ABC Limited'de çalıştım.

\end{document} ​
```

CV'miz artık tarihler içeriyor:

![Screenshot3.png](/files/a47a93e25cb3064a79131a977006c2b9d103f2dc)

### Sonuç

İşte bu rehberin birinci bölümü için hepsi bu kadar; ancak umarım buradan ayrılıp kullanışlı sınıf dosyaları oluşturmaya başlamanız için yeterince şeyi anlatmışımdır. Şimdiden makul görünen bir CV şablonu oluşturmak için çok fazla komut kullanmadık ve özelleştirebileceğimiz başka şeylerin yalnızca yüzeyini kazıdık. Bu rehberin sonraki birkaç bölümünde, onu yapılandırmak için sınıfınıza seçenekler aktarmaktan, güzel bir başlık oluşturmaktan ve bazı genel düzen seçeneklerini nasıl ayarlayacağımızdan bahsedeceğim.

Okuduğunuz için teşekkürler!

Kendi başıma sınıf dosyaları oluşturma konusunda nispeten yeni olduğumu not edin; bu yüzden burada bahsettiğim şeyleri yapmanın daha iyi yollarını bilen varsa, lütfen bana bildirsin.

Bölüm 1 | [Bölüm 2](/latex/tr/daha-fazla-konu/26-how-to-write-a-latex-class-file-and-design-your-own-cv-part-2.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/tr/daha-fazla-konu/25-how-to-write-a-latex-class-file-and-design-your-own-cv-part-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
